トップページ⇒tech
1001コメント323KB

【初心者・ネタ】Java質問・相談スレ【大歓迎】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
さーじゃんじゃん質問しよう。
お前らとりあえずがんがってください
そして誰か教えてください。

関連スレ
初心者無視! Java相談室 その9
http://pc.2ch.net/test/read.cgi/tech/1021555964/
調べようとする優秀な奴は↑へどうぞ。

0002デフォルトの名無しさんNGNG
2
0003デフォルトの名無しさんNGNG
関連スレくらいリンク貼れや!!
0004デフォルトの名無しさんNGNG
だれかおしえろよヽ(`Д´)ノウワァァン


0005デフォルトの名無しさんNGNG
はじめてJavaを学ぶにあたって(過去にプログラム経験無し)
どの本を買うのが一番わかりやすい?
またわかりやすいサイトってないですか?
0006デフォルトの名無しさんNGNG
すんません。マジな質問です。
俺は少しいびつな勉強をさせられたせいか、文字ベースのJavaはだいたいわかってます。
がGUIはまったくできません。

最近、JDBCを文字ベースレベルで使えるようになりました。
さて、GUIをかぶせようとしたら、あんまりうまく動かないようなので、ショックを受けているのです。
俺自身まだGUIプログラムは書けないので、どこがどうと言えないのですが、サンプルを動かすと
妙にカクカクしているのです。スクロールするたびにチラチラ、チラチラ。
これは、サンプルが悪いのでしょうか?それとも、JavaのGUIってこんなものなのでしょうか?
0007デフォルトの名無しさんNGNG
SwingでDefault Focusを
当てるにはどうしたらよいのですか?
0008アマゾンリンク実験中NGNG
http://www.amazon.co.jp/exec/obidos/redirect?tag=omotinokanris-22&path=tg/browse/-/515820

アマゾンで、Javaのカテゴリーの中で、売れている順番でソートしてみました。
この中で、わかりやすそうなものを選べばいいと思います。
0009デフォルトの名無しさんNGNG
>>8
ありがとう!
8はなんていう本で勉強しました?
0010デフォルトの名無しさんNGNG
マジで質問なんですけど
プログラムを書こうとする時
どうゆう順で書いてるんですか?
まずクラスをいくつにするかとか変数をいつ宣言するかとか?

たとえば10このオブジェクトを作成して、それらを
配列に格納するアプリケーション(格納するオブジェクトはランダム)
だったら順番的に上から書いていけます?
DQNな質問すみません。
00118NGNG
私は、
Learn to Program with Java
http://www.amazon.co.jp/exec/obidos/ASIN/0072131896/omotinokanris-22

と

Java2 a beginner's guide
http://www.amazon.co.jp/exec/obidos/ASIN/0072127422/omotinokanris-22

という2冊で勉強中です。どちらも一長一短です。

本当は英語の本を紹介しようと思ったのですが、ここは日本語の掲示板なので、
>>8には日本語のカテゴリーからもってきたリンクを張りました。
0012デフォルトの名無しさんNGNG
>>11
なるほど、英語の本はむりっぽいですw。
いま独習Javaという本で勉強してるんですけど
書き方が難しい?のでインターフェイスとパッケージの
考え方で詰まってます。ちょっと本屋で見てみます
まじありがとうございました。
0013デフォルトの名無しさんNGNG
>>7
requestFocus()
0014デフォルトの名無しさんNGNG
JBuilderって分割表示はできないのでしょうか?

よくプログラムを書くときに、宣言部分などを上半分に表示しながら
下半分で入力などを行うのです。秀丸にはこの機能があるのですが、
JBuilder6には見当たりません。

また、ホイールマウスのホイールの回転で上下に移動できないのが
辛いです。

この問題を解決した人はおられませんか?
0015デフォルトの名無しさんNGNG
>>14
1.(分割表示)入力補完機能があるIDEで、分割が必要か?
 第一、一番上に宣言されているとも限らんが・・・
2.(マウス)JDK1.4にするか、それ用のプラグインをIBMから取ってくる。
0016デフォルトの名無しさんNGNG
>>7
一番最初にそのコンポーネントを追加。
0017デフォルトの名無しさんNGNG
>>6
文字ベースで勉強するのはいびつでも何でもないよ。
個人的にはすぐにGUIを教える本は信用してないし。
それよりも文法をきっちり勉強する方が大事。

で、GUIがちらちらするのは、マシンがのろいか、
ビデオカードがまずいか、コードの書き方がまずいか、
やっぱりJavaのGUIが腐ってるかのどれかです。
僕のアプリはそこそこ普通に使えるけど。
0018デフォルトの名無しさんNGNG
>>6
AWTじゃなくSwing使いなさい
AWTはチラチラする
0019デフォルトの名無しさんNGNG
こっちの1はエロくないな。
0020デフォルトの名無しさんNGNG
>>17-18 嘘教えるなよ。かわいそうに。
0021デフォルトの名無しさんNGNG
マジ質問なんだけど
パネルの上に3つのボタン、スクロールバーをつけて
ボタンを押せば対応した図形が出て
スクロールバーを変化させれば背景色が変る
アプレットを作ってみたんだけど、
スクロールバーを変化させると
図形が消えるんだけど図形を残したまま
背景色を変化させるには?
002218NGNG
>>20
あ?AWTがちらちらするのは事実だが?
もしかして、AWTのほうが動作軽いとか思ってる?
0023デフォルトの名無しさんNGNG
>>22
は? Swing を軽量コンポーネントとか言ってる人?
0024デフォルトの名無しさんNGNG
>スクロールバーを変化させると
コレの意味がわかんないんですが
「スクロールバーを動かすと」ってこと?
0025デフォルトの名無しさんNGNG
RGBImageFilter (だっけ?) 実装して repaint
002618NGNG
>>23
あのさぁー
AWTがちらつくっていうことしらないんですかぁ?
0027デフォルトの名無しさんNGNG
>>26
お前の作りがヘタレすぎ
0028デフォルトの名無しさんNGNG
>>24
そうです。

>>25
??やべーむじゅい
0029デフォルトの名無しさんNGNG
>>21

プログラム見ないとなんとも言えないが、
たぶん、背景色を書くときに、図形を消して(上書き)しまっているのでは?

図形を変えたときも、背景色を変えたときも、

・背景を描く。
・図形を書く。

の順番で描画するようになってる?
0030デフォルトの名無しさんNGNG
スクロールバー移動のイベント拾って setBackground, repaint のコンボ
003118NGNG
>>27
やっぱり、知らないじゃん
0032デフォルトの名無しさんNGNG
軽い軽くないとちらつきは関係ない。
double bufferで検索しろヘタレども。
0033デフォルトの名無しさんNGNG
ヘタレがチラつくスレはココですか?
0034デフォルトの名無しさんNGNG
>>29-30
sbいじった時もrepaint
すればいいのか。わかった気が汁。
もちっといじってみます。どうもです
003518NGNG
>>32
軽い軽くないとちらつきは関係あるとは
俺は一言も言ってないが?
わけわからんやつ(27,23,とその前)
に対して「おまえはどうせ、よくいる『AWTはSwingより軽い』と思っているやつか?」
の意味で言った
0036デフォルトの名無しさんNGNG
>>35
AWT使うと必ずちらつくわけじゃない。
ダブルバッファで検索しろヘタレ。
00377NGNG
>>13 >>16
ありがとうございます。
0038デフォルトの名無しさんNGNG
ダブルバッファリングも出来ん奴に軽い言われとる Swing って一体…
003918NGNG
>>36
はぁ?
TextAreaちらつくの知らないやつは引っ込んでろ
ダブルバッファでどうやってTextAreaのちらつき抑えるんだよ
もしかして、ちらつきを描画コンポのことだと思っているのだろうか?
0040デフォルトの名無しさんNGNG
>>39
別にちらつかないけど…
JDK1.1くらいを使ってるとか?
0041デフォルトの名無しさんNGNG
>>39
AWTはプラットフォームごとのコンポーネントを使うから
動作がプラットフォームごとに違うよ。

ちらつくってどのプラットフォームの話?Motif?
0042デフォルトの名無しさんNGNG
>>39
TextAreaちらついたことありませんが何か?
0043デフォルトの名無しさんNGNG
>>6がTextAreaのことだとなぜ思うんだろう。
004418NGNG
>>43
[スクロールするたびにチラチラ、チラチラ]
この部分読んだら、TextAreaだってわかるよ

0045デフォルトの名無しさんNGNG
確信した。>>39 の作りがヘタレ。
004618NGNG
確信した。>>45は経験不足。
0047デフォルトの名無しさんNGNG
>>44
ふーむ。ScrollPaneとかScrollBar+Panelという可能性はないんだろうか。
0048デフォルトの名無しさんNGNG
ま、結論としては>>18はネタと言うことで。

おい。もう初心者を惑わすようなネタはやめろよ >>18
0049デフォルトの名無しさんNGNG
まーまー和やかに逝きましょう。

そこで質問なんですけど。
インターフェイスっていうのは
メソッドを実装しないクラスってことでいーんでしょうか?

もし違ったら誰か解説お願いします。
0050デフォルトの名無しさんNGNG
setEnabled() ちゃんと使ってる? つかってねーんだろーな >>18
0051デフォルトの名無しさんNGNG
>>47
とりあえず>>6の言っている「サンプル」のソース
がどういうものか、わからないと・・・
0052デフォルトの名無しさんNGNG
>>49
そう「呼び出し規約」だけを定義したクラス (?)。
005347NGNG
>>51
そう。TextAreaと断言はできないよね。
0054デフォルトの名無しさんNGNG
>>50
setEnabled() ?
コレで何か変わるんですか?
マジです。煽りじゃないです。
0055デフォルトの名無しさんNGNG
18 はダブルバッファをぐぐってます。しばらくお待ちください。
0056デフォルトの名無しさんNGNG
ある程度C++を覚えたのでJAVAを始めようかと思っているのですが、
C++で使えてJAVAで使えないもの、逆にJAVAで使えてC++に無いものがあったら
教えて頂けませんか?
0057デフォルトの名無しさんNGNG
>>56
多すぎる。
0058デフォルトの名無しさんNGNG
>>49
abstractなクラスはどうなるんだろう・・・
0059デフォルトの名無しさんNGNG
>>56
具体的に聞いてくれ
これは出来ないんですか?とか
これは出来ますか?とか
0060デフォルトの名無しさんNGNG
インターフェースはクラスじゃねーよ。
0061デフォルトの名無しさんNGNG
>>49
インターフェイスってのは、クラスの型だけを定義した物と考えるべし。
型ってのは、外身と言い換えてもいいよ。

0062デフォルトの名無しさんNGNG
【C++ で使えて Java で使えないもの】
多重継承、inline 関数、プリプロセッサディレクティブ (マクロ)、
演算子オーバーロード、インラインアセンブリ、デストラクタ起動の
明示的なタイミング、テンプレート機能 (JDK1.5で対応?)、明示的な
ヒープの割り当てと開放

【Java で使えて C++ で使えないもの】(最近使ってないから間違ってるかも)
synchronized 構文、finally ブロック、クラス名からインスタンスの生成、
安全なダウンキャスト、オブジェクトシリアライゼイション、ラベル付き
ブロック抜け、notify/wait のシグナル

こんな感じ? ライブラリレベルになるとたくさんある。
ちなみに friend クラスや多重継承と同じことは inner クラス使えば
大抵出来る。
0063デフォルトの名無しさんNGNG
>>62
>明示的なヒープの割り当てと開放

使えないって言うとまるで欠点みたいに聞こえるが。

逆にC++で使えないものにGCが入ってないな。
0064デフォルトの名無しさんNGNG
祭りの予感ワショーイ
0065デフォルトの名無しさんNGNG
>>63
そうだな。思いついたままに書いたから。
0066デフォルトの名無しさんNGNG
C++に無いthread関係ってsynchronized, wait, notifyだけ?
そもそもC++に標準のthread機能ってあったっけ?
0067デフォルトの名無しさんNGNG
レスありがとうございます。
今、思いつくところでは
ポインタが無い代わりに参照みたいなものを使うのか?
テンプレートはあるのか?多重定義はあるのか?
メモリの割り当て、解放はどうするのか?
ストリング型はあるのか?
ってところです。
JAVAは知識もろくにないので、かなり馬鹿げた質問かもしれませんが
皆さん、よろしくお願いします。
0068デフォルトの名無しさんNGNG
>>66
ANSI C++ レベルの標準でスレッドという概念は無い。
POSIX とかあるけど、printf 等の標準関数はスレッドセーフでは
なかった (今のは知らん)。
0069初心者 ◆3UmwhFqY NGNG
>>61
なるほど。インターフェイスって
おかなくてもできるような気がするのは
漏れだけですか?別のクラスに
詰め込んじゃえば・・いってることDQNですか?
0070デフォルトの名無しさんNGNG
Javaでポインタを数値として演算することはできないし、
配列の型がポインタだったりもしないが、
Javaの参照はC++の「インスタンスへのポインタ」とほぼ
同じだと思って良い。
0071デフォルトの名無しさんNGNG
>>69
まぁ Java やってればいずれポリモーフィズムの概念を理解しなきゃ
いけない時がやってくる。そんときになんないとインターフェースの
存在価値なんて分からないかも。

# 類似で未実装部分をでっち上げる時にも使うが。
0072デフォルトの名無しさんNGNG
>>69
インターフェースはクラスより重要な概念だ。
ある程度大きなプログラムを設計したら、まずインターフェースが決まる。
クラスの内部表現はその後。

実装の継承は、最後にやる一種の最適化だと思ってよい。
あんまり重視しない方が良い。
0073デフォルトの名無しさんNGNG
>>69
利点その1:
大規模開発になると、クラスやメソッドの機能は決まっているけど、実装は
まだ出来ていない開発フェーズっていうのはあるのよ。そういうときに、
インターフェイスだけ定義しておいて実装を別の人に投げたりできるのよ。

利点その2:
ポリモルフィズムの基本概念です。こっちはOOPを勉強してくれ。
0074デフォルトの名無しさんNGNG
POSIX pthreadはC++じゃ使えないんじゃないかな…
だって、tryやthrowがどうなるか、どこにも定義ないでしょ。
処理系作成者も考慮してないと思う。
0075デフォルトの名無しさんNGNG
むしろ本読んだだけでインターフェースの利点を理解できるのは
よっぽどの C++ の経験者か、宗教関係者かのどっちか。
0076デフォルトの名無しさんNGNG
>>74
別に、使うだけならできるんじゃないの。
綺麗にラップしてあげないと管理が大変そうだけど。
0077初心者 ◆3UmwhFqY NGNG
>71-73
レスありがとうございます。
つまり初心者でも作れるようなプログラムなら
インタフェイスを使わなくても強引にできるけど
大きなプログラムになれば重要になってくるって
ことっすね。ゆっくり勉強していきます

ホンと勉強になるYO!
0078デフォルトの名無しさんNGNG
C++と一番違うのはライブラリだろ。
GUI, マルチメディア, セキュリティなどがJavaだと標準で入っている。
0079デフォルトの名無しさんNGNG
>>78
「Java」と言う言葉が
Java言語仕様、Java実行環境、APIライブラリ
の全てを指すのに対して、C++っていうのは
C++の言語仕様(とコンパイラ)だけだからねえ。
0080デフォルトの名無しさんNGNG
>>76
いやー難しいんじゃねえか?
例えば、STLってちゃんと同時アクセスをロックしてくれる?
スレッドの中でcatchしてない例外投げたら何が起る?
0081デフォルトの名無しさんNGNG
で正直
JavaとC++将来があるのはどっちよ?
0082デフォルトの名無しさんNGNG
>>79
で、ストリームは言語仕様?コンパイラ?
0083デフォルトの名無しさんNGNG
>>79
STLはANSI/ISO規格だぞ。
0084デフォルトの名無しさんNGNG
>>81
学校でどっち教えてるところが多いか見れば明らか。
授業でC++教えてるところは正直いってしらん。
0085 NGNG
【google 先生曰く】
授業 課題 Java ⇒ 5,720 件
授業 課題 C++ ⇒ 495 件
0086デフォルトの名無しさんNGNG
まあ学校で教えてるからってのは必ずしも将来に直結しないが、
現時点での需要としてはJavaということだろうね。
0087デフォルトの名無しさんNGNG
Java覚えとけば、とりあえず画面回りで困ることはないな。
0088デフォルトの名無しさんNGNG
画面のキャプチャーソフトJavaで書きたいんですが
どうすれば良いですか?
0089 NGNG
JNI しかない。
0090デフォルトの名無しさんNGNG
さっそく画面回りで困った(w
0091 NGNG
>>87-91 ジサクジエン (・∀・) デシタ!!
0092デフォルトの名無しさんNGNG
>>90
きみ、屁理屈ばっかりだね
0093デフォルトの名無しさんNGNG
画面回りで困ることは無いって事はなかろーが、少なくとも MFC や
Motif なんかに振り回される事は少なくなるな。
0094デフォルトの名無しさんNGNG
AWTのレイアウタは最悪でしょう。振り回され度No1。
0095デフォルトの名無しさんNGNG
>>92
やり込められて負け惜しんでる人ハケーン!
0096デフォルトの名無しさんNGNG
> レイアウタ
あんたどこの人?
0097デフォルトの名無しさんNGNG
俺的振り回され度
MFC >>>>>>>>>>>>>>>>>>>>>>>>>>> Motif >> AWT
0098デフォルトの名無しさんNGNG
>>94
そうか?コーディングでレイアウトを決定できるのは便利だと思うが。
へんな仕様のリソースファイル書かせられるよりまし。
0099デフォルトの名無しさんNGNG
>>98
今はGUIビルダでやるでしょ。
いずれにせよ、layoutManagerはマニュアルちょっと読めば使える。

VBみたいに、リサイズ全く考慮しない固定レイアウトしか知らないと
使いにくいと思うのかも。
0100デフォルトの名無しさんNGNG
>>88
http://amacre.site.ne.jp/Tuyano/Software/Capture.html
0101デフォルトの名無しさんNGNG
>>27 これはどういうことでしょうか?
コンストラクタの詳細
JPanel

public JPanel(LayoutManager layout,
boolean isDoubleBuffered)

指定されたレイアウトマネージャおよびバッファリング方式で新しい JPanel を作成します。

パラメータ:
layout - 使用する LayoutManagerisDoubleBuffered - boolean 値。true の場合、ダブルバッファリング方式で、追加メモリ空間を使用した高速でちらつきのない変更を行う
__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
■ このスレッドは過去ログ倉庫に格納されています