2010-02-26 98 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

相关问题