java - 如何在 Action 监听器事件上刷新 jtable 的内容?

标签 java swing jtable actionlistener

我使用以下代码在现有对话框的新面板中显示 jtable。我已经使用 mytablemodel 类作为表模型,setmodel 方法就像构造函数(因为我必须使用相同的模型对象创建多个表,所以我使用方法而不是构造函数)。但是我的 jtable 不会更改 actionlisten 上的内容。即使输入值发生更改,也会重新出现相同的内容...请帮助

 btnShow.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
         showTable();

        }

    });
    panel_1.add(btnShow);

private void showTable() {
     fillData();
    //filldata used to fill object data for table using date specified by user                   


                MyTableModel model=new MyTableModel();
                model.setModel(data,col,totalrow);
                table = new JTable(model);
                table.setForeground(new Color(255,0,0) );
                System.out.println("after table");
                panel_2.add(new JScrollPane(table));
                panel_2.setVisible(true);
                table.setVisible(true);
                System.out.println("after scroll pane");

 }

最佳答案

不要每次都创建一个新的 JTable。相反,获取模型并替换/编辑数据(最好),或者为表提供一个新模型(“确定”)。

模型数据更改后,需要调用“fireTableXXX”方法。

您可以调用 .fireTableDataChanged() 来重新加载所有数据。还有一些方法可以指定更改了哪些行或单元格,这样就不必重新加载全部内容。

关于java - 如何在 Action 监听器事件上刷新 jtable 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18162392/

相关文章:

java - 为什么我的 JTable 没有出现?

java - 使用 Selenium 设置自动化测试框架

java - 如何使用 Jackson 将 JSON 对象键解析为整数?

java - 使用 intellij 将图像导出为 jar 文件

java - 在 java swing 中播放 avi 视频文件

java - JTable 上的自定义单元格返回错误值(并且无法正确显示)

java - 如何创建水平白色分隔线以使用 java 添加到我的布局?

java - 带有 Socket 的 BufferedReader 未收到任何内容

java - Netbeans JSR-296、Swing 和 JavaFX,我们现在打算使用什么?

java - 在 JTable 中对 int 进行排序