Java低速GUI Swing 10 (492レス)
Java低速GUI Swing 10 http://mevius.5ch.net/test/read.cgi/tech/1316528595/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
94: デフォルトの名無しさん [sage] 2012/03/02(金) 14:18:11.33 あるウインドウAのメニューからそのウインドウの設定パネルBを出して、ウインドウAの位置や 大きさの現在値を表示したいのですが、設定パネルBを生成するのがウインドウAのコンストラクタ内 (Aの部品のメニューにaddActionListener()を設定して,その中でnew ActionListener(), さらにその中でactionPerformed(ActionEvent)として,その中で new B() を呼ぶ) なので,Aへの参照をBのコンストラクタに引数で渡して B(A instanceOfA) のようにしても instanceOfAには常にnullしか入っていません。(つまりAのコンストラクタが完了して完全にAを 生成した状態になる前の時点でB(A)を呼び出してしまっているのだと思います) こういうときSwingではどういうふうにするのが常套手段なんでしょうか? Aのコンストラクタ内以外でBのデータを更新して表示する方法があるのかわかりません。 お教えいただきたくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1316528595/94
111: 94 [sage] 2012/03/06(火) 14:09:03.26 >>102 さまはじめみなさま どうもありがとうございました。やりたかったのは次のようなことでした。 public class FrameA extends JFrame { final JFrame frameA = this; //これで期待通り動いた[PPP] JMenuItem menuItemForB = new JMenuItem(); menuItemForB.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { panelB = new PanelB(frameA); //[QQQ] } } ); } public class PanelB extends JPanel { public PanelB(FrameA frameA) //frameAの参照を引数で渡す[RRR] { //ここから frameA を操作するために frameA を参照する } } [PPP] のように単純に FrameA の this を取って [QQQ] [RRR] のように引数で渡したところ期待通り PanelB の内部から frameA を参照して操作できるようになりました。動かなかった原因は [PPP] の this のかわりに>>96に書いたaRootを使っていたことでした。これでOKですが、もし [RRR]のように 引数で親の参照を渡すのより良い方法がSwingプログラムの常套手段にあるようならお教えください。 http://mevius.5ch.net/test/read.cgi/tech/1316528595/111
114: 94 [sage] 2012/03/06(火) 16:20:38.22 >>113 なるほど FrameA の中で PanelB を定義すれば FrameA.this が見えるわけですね。 なお >>111に示したコードの前半もほんとうは>>113のように FrameA の コンストラクタ内にあったんですが貼り付けるときに削除してしまっていました。 Swing も内部クラスも使ったことがなかったので勉強になります。ただ、PanelB の コードは FrameA から独立させて書いておきたいので、Swing のマナー違反でない 限り >>111のような引数渡しの方法を使おうと思っています。どうもありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1316528595/114
116: 94 [sage] 2012/03/06(火) 17:45:57.39 >>115 いちいちframeAに代入したりしないで直接FrameA.thisを渡すということですね。 >>111 よりスマートだしいけそうですね。どうもありがとうございます。 http://mevius.5ch.net/test/read.cgi/tech/1316528595/116
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s