2011-01-06 37 views

回答

45

來自:http://download.oracle.com/javase/tutorial/uiswing/components/toplevel.html

每個GUI組件可被包含 只有一次。如果某個組件在容器中已經是 ,並且您嘗試將其添加到另一個容器中,則將從第一個容器中刪除組件 ,然後將其添加到 秒。

+2

謝謝你的幫助! – 2011-01-06 22:29:25

+0

我檢查了確切的措辭,並在您發佈的同一時間編輯了我的答案。我想我應該先刷新。 – jzd 2011-01-06 22:31:40

1

我不認爲這是可能的。你可以做什麼,是有多個組件共享相同的事件處理程序。基本上,在你的情況下,聲明兩個按鈕並使用相同的事件處理程序方法。

3

已解決。

檢查在Java教程的UI-Swing部分,它說。

每個GUI組件只能包含一次。如果一個組件已經在一個容器中,並且您嘗試將其添加到另一個容器中,則組件將從第一個容器中移除,然後添加到第二個容器中。
6

正如您發現的那樣,您無法共享組件。但是,您還可以使用其他方法。

在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); 

的解決方案取決於您的要求。