我想(測試別的東西)添加一個JButton
參考到兩個JPanels
來測試它,它從它添加到的第一個面板中消失!無法將Swing組件添加到多個容器?
那麼,不能將Swing組件添加到多個容器?
預先感謝您。
我想(測試別的東西)添加一個JButton
參考到兩個JPanels
來測試它,它從它添加到的第一個面板中消失!無法將Swing組件添加到多個容器?
那麼,不能將Swing組件添加到多個容器?
預先感謝您。
來自:http://download.oracle.com/javase/tutorial/uiswing/components/toplevel.html:
每個GUI組件可被包含 只有一次。如果某個組件在容器中已經是 ,並且您嘗試將其添加到另一個容器中,則將從第一個容器中刪除組件 ,然後將其添加到 秒。
我不認爲這是可能的。你可以做什麼,是有多個組件共享相同的事件處理程序。基本上,在你的情況下,聲明兩個按鈕並使用相同的事件處理程序方法。
已解決。
檢查在Java教程的UI-Swing部分,它說。
每個GUI組件只能包含一次。如果一個組件已經在一個容器中,並且您嘗試將其添加到另一個容器中,則組件將從第一個容器中移除,然後添加到第二個容器中。
正如您發現的那樣,您無法共享組件。但是,您還可以使用其他方法。
在Jbutton將的情況下,可以共享一個操作:
JButton的按鈕1 =新的JButton(someAction); JButton button2 = new JButton(someAction);
有關更多信息,請參閱Swing教程中關於How to Use Actions的部分。
你可能想要共享模型中的其他情況:
DefaultTableModel model = new DefaultTableModel(...);
JTable table1 = new JTable(model);
JTable table2 = new JTable(model);
的解決方案取決於您的要求。
謝謝你的幫助! – 2011-01-06 22:29:25
我檢查了確切的措辭,並在您發佈的同一時間編輯了我的答案。我想我應該先刷新。 – jzd 2011-01-06 22:31:40