2つのJTableを含むJPanelがあります。ボタンをクリックすると、一度に1つの表のみが表示されます。2つの動的JTableがJPanelとオーバーラップする
私はボタン1をクリックしたときに私の問題は、それは私に表1に示している、と私はボタン2をクリックしたとき、それは表1
と重なって表2、私は表1に示す前に削除したい私を示してい私はrepaint()
とrevalidate()
を試しましたが、何も動作しません。
2つのJTableを含むJPanelがあります。ボタンをクリックすると、一度に1つの表のみが表示されます。2つの動的JTableがJPanelとオーバーラップする
私はボタン1をクリックしたときに私の問題は、それは私に表1に示している、と私はボタン2をクリックしたとき、それは表1
と重なって表2、私は表1に示す前に削除したい私を示してい私はrepaint()
とrevalidate()
を試しましたが、何も動作しません。
を使用して、この例を示し、押されたボタンに基づいて必要なテーブルを追加します。
あなたは同じのために以下の機能を使用することがあります。
jpanel.remove(table_ref)
or
jpanel.removeAll()
最初のテーブルが第二のテーブルを追加し除去した後。
jpanel.add(table_ref);
表を追加した後で、次のことを覚えておいてください。
jpanel.revalidate();
jpPanel.repaint();
revalidateとrepaintは、jpanelをリフレッシュするのに役立ちます。
ありがとうミラノ、これはちょうどうまく動作します! –
は、ボタンのクリックでクリアのJPanel、一度にJPanelの上の1つのテーブルのみを必要とする場合、私は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