- PR -

JFrameの指定の仕方についての質問

1
投稿者投稿内容
未記入
会議室デビュー日: 2004/12/04
投稿数: 7
投稿日時: 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/05/21
投稿数: 70
投稿日時: 2004-12-04 21:55
JavaはVBのような書き方ができないので、このような場合はJFrame2にJFrame1をコンストラクタなどで渡し、メンバとして保持する必要があります。
Object思考的な考え方でいくとJFrame1にtf1の内容を書き換えるようなメソッドを作成し、JFrame2から呼び出すというような感じでしょうか?
未記入
会議室デビュー日: 2004/12/04
投稿数: 7
投稿日時: 2004-12-04 22:15
早速の返信ありがとうございます^^

申し訳ないのですが、もう少し噛み砕いて説明していただいてもいいですか??
勉強を始めて、まだ日が浅いのでいまいちピンときません。

すみませんが、よろしくお願いします。
do-run
会議室デビュー日: 2004/12/05
投稿数: 5
投稿日時: 2004-12-05 11:27
ぼんじぃ様の意図するものと同じか分かりませんが、おそらく

new JFrameA( this/*JFrame@*/ ); //JFrameAを生成
のように、JFrameAにJFrame@のオブジェクトを渡してから、

JFrame@.tf1.setText(tf2.getText); //tf2の内容をtf1へ
と、JFrameAで処理するということではないでしょうか?
未記入
会議室デビュー日: 2004/12/04
投稿数: 7
投稿日時: 2004-12-05 16:59
ありがとうございます^^

早速試してみたのですが、
staticでない変数tf1をstaticコンテキストから参照することは出来ません。
というエラーが出てしまいます。

これはどういう意味なのでしょうか??
よろしくおねがいします。
ぼんじぃ
ベテラン
会議室デビュー日: 2004/05/21
投稿数: 70
投稿日時: 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/04
投稿数: 7
投稿日時: 2004-12-06 20:48
はい。ありがとうございます。
何とかできました。

自分でも、勉強不足とは感じておりましたので、
これを機に基本を勉強しなおしたいと思います^^;
1

スキルアップ/キャリアアップ(JOB@IT)