1

テーブルの表示に問題があります。私のテーブルには最初は行があります。しかし、次回何らかの操作を行うと、テーブル リストが空になります。そのモデルをテーブルに追加すると、テーブルは空になります。表示さemptyれますが、テーブル エリアに白い色が表示されます。

最初は、テーブルは次の図のようになります。

最初のテーブル

次に、何らかのアクションを呼び出す必要があり、そのアクションが空のリストを返す場合は、そのリストを使用して新しい Jtable を作成し、パネルに配置します。しかし、それは次のようになっています。

空のテーブル

以下は、これを行うために私がフォローしているアプローチです。

pnlRight.removeAll();
//pnlRight.invalidate();
// pnlRight.revalidate();
// pnlRight.repaint();
pnlRight.add(new JScrollPane(table), BorderLayout.CENTER);
pnlRight.invalidate();
pnlRight.validate();
pnlRight.repaint();

この@kdgregoryに関する投稿の 1 つを読みました。削除した後、上記のメソッドを呼び出す必要があります。この奇妙なことが起こっています。repaint() のみを呼び出すと、列名でさえパネルから欠落します (理想的には、この場合、これは発生しないはずです)。これに関する問題を説明してください。

4

1 に答える 1

4
  • JTable(with JScrollPane) を削除してそこに別のものを配置する (論理的な) 理由はないと思いますJTable

  • JTableすべてのデータを に作成して保存するにXxxTableModelは、

  • リセットXxxTableModelしてから別のデータを別の構造にロードする

  • CardLayoutビューの切り替えに使用

編集

  • 次のコード

pnlRight.revalidate();

pnlRight.repaint();

問題は発生していません。問題はこのコードにはありません....

于 2012-10-18T13:20:40.033 に答える