alt text http://img444.imageshack.us/img444/235/waaaaaaaaq.jpg
我想制作一个程序java桌面。我有2个表,“表1”和“表2”。 当我按下表格框中的“按钮1”时显示“表1”,当我按下“按钮2”时,显示“表2”。
任何人都可以告诉我该怎么做? THX
答案 0 :(得分: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 :(得分:1)
所有Java Swing组件都具有可见属性。因此,最简单的方法是将两个表放在同一位置,但一次只能看到一个。然后在按钮处理程序中,执行以下操作:
void button1_handler() {
table1.setVisible(true);
table2.setVisible(false);
}
void button2_handler() {
table1.setVisible(false);
table2.setVisible(true);
}