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上的一篇文章,删除后我应该调用上述方法。这奇怪的事情正在发生。如果我只调用 repaint() ,那么即使面板中缺少列名(理想情况下,这种情况不应该发生。)请解释这是什么问题。

4

1 回答 1

4
  • 不是,我认为没有(逻辑)理由,删除一个JTable(with JScrollPane)并放另一个JTable

  • 创建JTable并将所有数据存储到XxxTableModel,

  • 重置XxxTableModel然后以不同的结构加载另一个数据

  • 用于CardLayout在视图之间切换

编辑

  • 以下代码

pnlRight.revalidate();

pnlRight.repaint();

没有引起任何问题,问题不在此代码中....

于 2012-10-18T13:20:40.033 回答