标签:rate pointer 数值 jtable 方法 style todo 主线程 界面
在一个需要动态更新JTable的程序中,为了实现动态刷修数据。在主线程之外开了个新线程来进行算法的执行还有数值计算,然后最后调用
jTable.updateUi();
的方法。
然后图形界面上是一点问题都没有的,但有次突然发现,某次运行的时候,控制台爆了个空指针的异常:
无语的是,这个异常一来没有指示是哪个位置有问题……而来是不一定会出现……三来是对界面的显示似乎完全没影响。
显然这就是和线程有关的问题。
然后查了下资料,应该是jTable.updateUi()方法的问题。 这个方法可能影响到了Swing原来的线程机制。因为Swing是有自己的一套线程机制的,有三个线程,具体的就不在这里详细说明了。
那么怎么解决呢?用了官方建议的方法:
SwingUtilities.invokeLater(new Runnable() { @Override public void run() { // TODO Auto-generated method stub jTableRunResult.updateUI(); }
});
问题解决,那个异常再也没有抛出了。
JTable运行的时候抛出NullPointerException的问题
标签:rate pointer 数值 jtable 方法 style todo 主线程 界面
原文地址:https://www.cnblogs.com/wangshen31/p/10119523.html