- PR -

コンストラクタで定義しているオブジェクトをメソッドで使用するには

投稿者投稿内容
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2003-05-21 12:50
>下記のような例は表示されないとおっしゃっていますか?

いいえ。

>この例はちゃんと表示されます。

この例は、labelで参照されるオブジェクトをcontentPaneに渡していますよね。contentPane
に参照が保持されているのでそれでいいんです。最初の例では、コンストラクタローカルな
参照変数でしかオブジェクトを参照していないので、コンストラクタが終了した時点で
オブジェクトがGCの対象になってしまいます。
びしばし
大ベテラン
会議室デビュー日: 2002/03/13
投稿数: 181
投稿日時: 2003-05-21 13:20
どうしても JButton などのスコープを変えたくない、
またはオブジェクトを参照できない場合などは、
AbstractButton#setActionCommand() でコマンド文字列を与えておいて、
リスナ側で ActionEvent#getActionCommand() して文字列と比較する、という手もあります。

参考まで。
be1300cc
ベテラン
会議室デビュー日: 2002/07/04
投稿数: 88
投稿日時: 2003-05-22 13:37
びしばしさん、ありがとうございました。
大変参考になりました。

また皆さんありがとうございました。

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