JButton
1 つの参照を 2 つに追加してテストしようとしていますJPanels
が、追加された最初のパネルから消えてしまいます。
では、Swing コンポーネントを複数のコンテナーに追加することはできませんか?
前もって感謝します。
JButton
1 つの参照を 2 つに追加してテストしようとしていますJPanels
が、追加された最初のパネルから消えてしまいます。
では、Swing コンポーネントを複数のコンテナーに追加することはできませんか?
前もって感謝します。
差出人:http ://download.oracle.com/javase/tutorial/uiswing/components/toplevel.html :
各GUIコンポーネントは1回だけ含めることができます。コンポーネントがすでにコンテナ内にあり、それを別のコンテナに追加しようとすると、コンポーネントは最初のコンテナから削除されてから、2番目のコンテナに追加されます。
お気づきのとおり、コンポーネントを共有することはできません。ただし、使用できる他のアプローチがあります。
JButton の場合、Action を共有できます。
JButton button1 = new JButton( someAction ); JButton button2 = new JButton( someAction );
詳細については、アクションの使用方法に関する Swing チュートリアルのセクションを参照してください。
他のケースでは、モデルを共有したい場合があります:
DefaultTableModel model = new DefaultTableModel( ... );
JTable table1 = new JTable( model );
JTable table2 = new JTable( model );
ソリューションは要件によって異なります。
解決しました。
JavaチュートリアルのUI-Swingセクションで確認すると、それは言います。
各GUIコンポーネントは1回だけ含めることができます。コンポーネントがすでにコンテナ内にあり、それを別のコンテナに追加しようとすると、コンポーネントは最初のコンテナから削除されてから、2番目のコンテナに追加されます。
それは不可能だと思います。できることは、同じイベントハンドラーを共有する複数のコンポーネントです。つまり、基本的に、あなたの場合、2つのボタンを宣言し、同じイベントハンドラーメソッドを使用します。