我已经设置了一个JTable
来在程序开始时进行初始化,并将其设置为DefaultTableModel
:
public DefaultTableModel usernameScraperTableModel = new DefaultTableModel();
private JTable usernameScraperTable;
然后我在构造函数内初始化表,如下所示,
this.usernameScraperTable = new JTable(this.usernameScraperTableModel);
this.usernameScraperTableModel.addColumn("Username");
然后在我的 startButton
的 actionPerformed(ActionEvent)
中,我运行一个方法。如果收集到某些内容,则应该将其添加到表中。
this.usernameScraperTableModel.addRow(new Object[] { user.getName() } );
有点作用。在运行时,该表是空白的,不显示任何内容。我知道这一点是因为在我的 Eclipse 控制台中它按照预期的方式工作。但该方法运行完成后,JTable
就会更新,并且所有名称都在那里。
我想知道如何在按钮的 ActionEvent
内实时更新表格。
编辑
感谢this 。但它仍然不起作用。我使用了 Eclipse 网站上的 WindowBuilder,它是一个 JFrame。当我单击开始时,GUI 会“卡住”(我无法单击其他任何内容,无法按退出按钮等),直到该方法完成
最佳答案
所以我相信您需要方法fireTableDataChanged()
,它是DefaultTableModel
的一部分,在您的情况下是usernameScraperTableModel
关于java - JTable运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22972288/