我有一個包含2個JTable的JPanel。當我點擊一個按鈕時,一次只能看到一張桌子。與JPanel重疊的兩個動態JTable
我的問題是,當我點擊一個按鈕,它顯示我的表1,當我點擊兩個按鈕,它讓我看到表2,相互重疊的表1
我想表1顯示前被移除表2.我試過repaint()
和revalidate()
但沒有任何效果。
我有一個包含2個JTable的JPanel。當我點擊一個按鈕時,一次只能看到一張桌子。與JPanel重疊的兩個動態JTable
我的問題是,當我點擊一個按鈕,它顯示我的表1,當我點擊兩個按鈕,它讓我看到表2,相互重疊的表1
我想表1顯示前被移除表2.我試過repaint()
和revalidate()
但沒有任何效果。
如果你需要一個JPanel只有一個表的時間,清除的JPanel上的按鈕進行點擊添加按鈕按下的基礎上所需要的表。
您可以使用下面的功能是一樣的:
jpanel.remove(table_ref)
or
jpanel.removeAll()
除去第一表添加第二個表之後。
jpanel.add(table_ref);
添加表後請記住以下內容。
jpanel.revalidate();
jpPanel.repaint();
重新驗證和repaint將有助於刷新jpanel。
謝謝米蘭,這工作得很好! –
顯示這個例子中,我使用CardLayout
JPanel cardPanel = new JPanel(new CardLayout());
cardPanel.add("table1", new JTable());
cardPanel.add("table2", new JTable());
// when you want to show table1 and hidden table2
((CardLayout)cardPanel.getLayout()).show(cardPanel, "table1");
使用CardLayout。 – hunter
你能告訴我們你的代碼嗎? –
使用table1.setVisible(false);單擊時將其隱藏在面板中。 – msagala25