java - 在运行时更改 jTable 模型

标签 java jtable

我有一个 Java 表单应用程序,我想在运行时更改 jTable 的 tableModel(单击按钮时) 我正在使用以下代码:

JButton btnNewButton = new JButton("Execute"); 
btnNewButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        try {
            TableModel newModel = dbHandler.executeQueryToTable(myQuery.getText());
            table.setModel(newModel);
            ((AbstractTableModel) newModel).fireTableDataChanged();
        } catch (SQLException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    }
});

问题是表格没有改变。我检查了模型是否正常,但我认为表格需要以某种方式更新。 非常感谢!

最佳答案

尝试使用以下代码暂时更改您的代码。如果单击按钮时表更新,则问题可能出在您的 dbHandler.executeQueryToTable(myQuery.getText())

JButton btnNewButton = new JButton("Execute"); 
btnNewButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {


        TableModel newModel = new DefaultTableModel(
            new Object [][] {{"a", "b"}, {"e", null}},
            new String [] {"Title 1", "Title 2"});

        this.jTable1.setModel(newModel);
        ((AbstractTableModel) newModel).fireTableDataChanged();



    }
});

上面的代码在我的测试中运行良好。

关于java - 在运行时更改 jTable 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31893699/

相关文章:

JAVA表单检测变化

java - 使用自定义 TableCellRenderer 的 Swing JTable

java - JTable setValueAt StackOverflowError

java - 使多个 JPanel 及其 JTable 适合 JFrame

java - 添加自定义尺寸的 JTable

java - 为什么我无法使 setSelectedIndex 工作?

java - 我被困在java代码中,我不明白为什么它不返回true

java - 在 JTable 中制作 3 色标热图

java - 如何传入/使用.Class/Object作为方法参数

java - 如何在 eclipse 或 netbeans 中运行多个控制台