我的表格显示有问题。我的表最初有行。但是下次如果我做一些操作,我的表列表就会变空。因此,当我将该模型添加到表中时,表是空的。它是空的
,但显示器在表格区域显示白色。
最初表格如下图所示。
然后我需要调用一些操作,如果该操作返回一个空列表,那么我将创建一个新的 Jtable 与该列表并将其放置在面板上。但它看起来像下面这样。
以下是我要执行此操作的方法,
pnlRight.removeAll();
//pnlRight.invalidate();
// pnlRight.revalidate();
// pnlRight.repaint();
pnlRight.add(new JScrollPane(table), BorderLayout.CENTER);
pnlRight.invalidate();
pnlRight.validate();
pnlRight.repaint();
我已阅读关于此 @kdgregory 的帖子之一,删除后我应该调用上述方法。这件奇怪的事情正在发生。如果我只调用 repaint() ,那么即使面板中的列名也会丢失(理想情况下,这种情况不应该发生。)请解释这是什么问题。
最佳答案
不,我认为没有(合乎逻辑的)理由,删除一个
JTable
(使用JScrollPane
)并放置另一个JTable
创建
JTable
并将所有数据存储到XxxTableModel
,重置
XxxTableModel
,然后以不同的结构加载另一个数据使用
CardLayout
在 View 之间切换
编辑
- 以下代码
pnlRight.revalidate();
pnlRight.repaint();
没有引起任何问题,问题不在这段代码中....
关于java - 重绘(),重新验证(),无效()。如何使用它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12955605/