JButton
参照を2つのJPanels
に追加してテストしようとしています(それ以外のものをテストしています)、それが追加された最初のパネルから消えます!複数のコンテナにSwingコンポーネントを追加できないのですか?
したがって、複数のコンテナにSwingコンポーネントを追加することはできませんか?
ありがとうございます。
JButton
参照を2つのJPanels
に追加してテストしようとしています(それ以外のものをテストしています)、それが追加された最初のパネルから消えます!複数のコンテナにSwingコンポーネントを追加できないのですか?
したがって、複数のコンテナにSwingコンポーネントを追加することはできませんか?
ありがとうございます。
から:http://download.oracle.com/javase/tutorial/uiswing/components/toplevel.html:
各GUIコンポーネントは、一度だけ を含有させることができます。コンテナ内のコンポーネントがすでに であり、別のコンテナに を追加しようとすると、コンポーネント は最初の コンテナから削除され、次に に追加されます。
私は考えられません。あなたができることは、複数のコンポーネントが同じイベントハンドラを共有していることです。したがって、基本的には、2つのボタンを宣言して同じイベントハンドラメソッドを使用します。
ありがとうございました! –
解決済み。
JavaチュートリアルのUI-Swingセクションを参照してください。
各GUIコンポーネントは、1回だけ含めることができます。コンポーネントが既にコンテナ内にあり、それを別のコンテナに追加しようとすると、そのコンポーネントは最初のコンテナから削除され、次に2番目のコンテナに追加されます。
あなたが発見したように、コンポーネントを共有することはできません。しかし、あなたが使用できる他のアプローチがあります。 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);
ソリューションは、あなたの条件に依存します。
ありがとうございました! –
私は正確な言葉遣いをチェックし、あなたが投稿したときに私の答えを編集しました。私はまずリフレッシュするべきだったと思う。 – jzd
Hehe。いいんだよ! –