- - PR -
JFrameの指定の仕方についての質問
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-12-04 17:13
こんにちは。はじめまして。
ちょっと困っているので質問をしたと思います。 今からしたいことが、 1)JButtonとJTextFieldを一つずつ追加したJFrame(JFrame@とする)と、 JButtonとJTextFieldを一つずつ追加したJFrame(JFrameAとする)を用意しておく。 2)まず、JFrame@のJButtonを押すと、JFrameAが生成される。 3)次に、JFrameAのJTextFieldにテキストを入力し、JFrameAのJButtonを押すと、 その内容がJFrame@のJTextFieldに入る。そして、JFrameAを消す。 ということをしたいのです。 1)と2)まではできましたが、3)のJFrameAのJTextField の内容をJFrame@のJTextField に入れるというところが出来ません。 というか、"JFrame@のJTextField"という指定の書き方がわかりません。 JFrame@を class jFrame1 各コンポーネントを JButton bt1; JTextField tf1; JFrameAを class jFrame2 各コンポーネントを JButton bt2; JTextField tf2; とすると上の指定の仕方はどうしたらいいのでしょうか?? 独学でJavaを勉強している上、周りに質問できる人がいないためここに頼らせていただきました。 また何か補足し足りないところがありましたら、補足しますのでよろしくお願いします。 |
|
投稿日時: 2004-12-04 21:55
JavaはVBのような書き方ができないので、このような場合はJFrame2にJFrame1をコンストラクタなどで渡し、メンバとして保持する必要があります。
Object思考的な考え方でいくとJFrame1にtf1の内容を書き換えるようなメソッドを作成し、JFrame2から呼び出すというような感じでしょうか? |
|
投稿日時: 2004-12-04 22:15
早速の返信ありがとうございます^^
申し訳ないのですが、もう少し噛み砕いて説明していただいてもいいですか?? 勉強を始めて、まだ日が浅いのでいまいちピンときません。 すみませんが、よろしくお願いします。 |
|
投稿日時: 2004-12-05 11:27
ぼんじぃ様の意図するものと同じか分かりませんが、おそらく
new JFrameA( this/*JFrame@*/ ); //JFrameAを生成 のように、JFrameAにJFrame@のオブジェクトを渡してから、 JFrame@.tf1.setText(tf2.getText); //tf2の内容をtf1へ と、JFrameAで処理するということではないでしょうか? |
|
投稿日時: 2004-12-05 16:59
ありがとうございます^^
早速試してみたのですが、 staticでない変数tf1をstaticコンテキストから参照することは出来ません。 というエラーが出てしまいます。 これはどういう意味なのでしょうか?? よろしくおねがいします。 |
|
投稿日時: 2004-12-05 21:06
こんな感じのイメージです。
中略は適当に補ってください。 class JFrame1{ ・・・中略・・・ private JTextField tf1; ・・・中略・・・ public setTf1Text(String str){tf1.setText(str);} } class JFrame2{ ・・・中略・・・ private JFrame1 frame; private JTextField tf2; ・・・中略・・・ public JFrame2(JFrame1 frm){frame = frm;} ・・・中略・・・ public void actionPerformed(ActionEvent evt){ ・・・中略・・・ frame.setTf1Text(tf2.getText()); ・・・中略・・・ } } >staticでない変数tf1をstaticコンテキストから参照することは出来ません。 Javaの基本が身に付いていないと見受けられます。先にコンソールプログラムなどで基本を勉強してください。基本がないとJavaでGUIを作るには厳しいです。 |
|
投稿日時: 2004-12-06 20:48
はい。ありがとうございます。
何とかできました。 自分でも、勉強不足とは感じておりましたので、 これを機に基本を勉強しなおしたいと思います^^; |
1