我正在使用swing进行项目,并在while循环中向JTable添加行.
我的情景是这样的: -
一旦用户单击按钮,程序就会进入while()循环并开始逐行向Jtable的DefaultTableModel添加行,直到while循环终止.但问题是,只有在while循环结束后才能使用数据更新表.我想在添加每一行后更新并在UI上显示它.
如果有人能帮助我提供解决方案,那将是非常好的
我已经在添加每一行后尝试了repaint()但它没有用.
您需要在单独的线程中运行您的操作,然后在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)