alt text http://img444.imageshack.us/img444/235/waaaaaaaaq.jpg我可以在java桌面應用程序中執行此操作嗎?
我想使程序的Java桌面。我有2個表,「表1」和「表2」。 當我按「表1」中的「按鈕1」顯示「表1」,當我按「按鈕2」「表2」顯示。
任何人都可以告訴我該怎麼做? Thx
alt text http://img444.imageshack.us/img444/235/waaaaaaaaq.jpg我可以在java桌面應用程序中執行此操作嗎?
我想使程序的Java桌面。我有2個表,「表1」和「表2」。 當我按「表1」中的「按鈕1」顯示「表1」,當我按「按鈕2」「表2」顯示。
任何人都可以告訴我該怎麼做? Thx
您可以使用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);
}
所有的Java Swing組件有一個明顯的特性。所以最簡單的方法是將兩個表放置在同一位置,但一次只能顯示一個。然後在您的按鈕處理程序中,您執行類似操作:
void button1_handler() {
table1.setVisible(true);
table2.setVisible(false);
}
void button2_handler() {
table1.setVisible(false);
table2.setVisible(true);
}
或者,如akf建議,使用CardLayout – 2010-02-26 04:28:43