Swing JTable更新

Jin*_*ith 5 java swing jtable

我正在使用swing进行项目,并在while循环中向JTable添加行.

我的情景是这样的: -

一旦用户单击按钮,程序就会进入while()循环并开始逐行向Jtable的DefaultTableModel添加行,直到while循环终止.但问题是,只有在while循环结束后才能使用数据更新表.我想在添加每一行后更新并在UI上显示它.

如果有人能帮助我提供解决方案,那将是非常好的

我已经在添加每一行后尝试了repaint()但它没有用.

Ger*_*ies 7

您需要在单独的线程中运行您的操作,然后在gui线程中更新JTable.像这样的东西:

public void someButtonClicked(params...) {
    new Thread(new Runnable() {
        public void run() {
            longOperation();
        }
    }).start();
}

public void longOperation() {
    for(int i=0; i<1000; i++) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                // add new row to jtable
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)