2011-01-06 5 views

答えて

45

から:http://download.oracle.com/javase/tutorial/uiswing/components/toplevel.html

各GUIコンポーネントは、一度だけ を含有させることができます。コンテナ内のコンポーネントがすでに であり、別のコンテナに を追加しようとすると、コンポーネント は最初の コンテナから削除され、次に に追加されます。

+2

ありがとうございました! –

+0

私は正確な言葉遣いをチェックし、あなたが投稿したときに私の答えを編集しました。私はまずリフレッシュするべきだったと思う。 – jzd

+0

Hehe。いいんだよ! –

1

私は考えられません。あなたができることは、複数のコンポーネントが同じイベントハンドラを共有していることです。したがって、基本的には、2つのボタンを宣言して同じイベントハンドラメソッドを使用します。

+0

ありがとうございました! –

3

解決済み。

JavaチュートリアルのUI-Swingセクションを参照してください。

各GUIコンポーネントは、1回だけ含めることができます。コンポーネントが既にコンテナ内にあり、それを別のコンテナに追加しようとすると、そのコンポーネントは最初のコンテナから削除され、次に2番目のコンテナに追加されます。
6

あなたが発見したように、コンポーネントを共有することはできません。しかし、あなたが使用できる他のアプローチがあります。 JButtonがある場合には

あなたはアクションを共有することができます。

JButtonのボタン1 =新しいJButtonの(someAction)。 JButton button2 =新しいJButton(someAction);

詳細については、How to Use ActionsのSwingチュートリアルのセクションを参照してください。

あなたがモデルを共有することがあります他のケースでは:

DefaultTableModel model = new DefaultTableModel(...); 
JTable table1 = new JTable(model); 
JTable table2 = new JTable(model); 

ソリューションは、あなたの条件に依存します。

関連する問題