2010-02-26 96 views

回答

5

您可以使用CardLayout輕鬆完成。

類似下面,施工時您的面板:

myPanel = new JPanel(new CardPanel()); 
myPanel.add(myPanelContainingTable1, CONSTANT_FOR_BUTTON1); 
myPanel.add(myPanelContainingTable2, CONSTANT_FOR_BUTTON2); 

actionPerformed方法,操作按鈕操作:

CardLayout cl = (CardLayout) myPanel.getLayout(); 
if (event.getActionCommand().equals(actionCommandForButton1) { 
    cl.show(myPanel, CONSTANT_FOR_BUTTON1); 
} else if (event.getActionCommand().equals(actionCommandForButton2) { 
    cl.show(myPanel, CONSTANT_FOR_BUTTON2); 
} 
1

所有的Java Swing組件有一個明顯的特性。所以最簡單的方法是將兩個表放置在同一位置,但一次只能顯示一個。然後在您的按鈕處理程序中,您執行類似操作:

void button1_handler() { 
    table1.setVisible(true); 
    table2.setVisible(false); 
} 

void button2_handler() { 
    table1.setVisible(false); 
    table2.setVisible(true); 
} 
+0

或者,如akf建議,使用CardLayout – 2010-02-26 04:28:43

相關問題