【转】JTree调用UpdateUI()抛空指针
2013-12-04 15:58
190 查看
最近在做东西时发现,当在线程里面刷新JTree时,有时会出现空指针错误,在网上查了很久,终于发现以下解决方法:
JTree中调用UpdateUI()报以下错误
java.lang.NullPointerException
at javax.swing.plaf.basic.BasicTreeUI.paintRow(BasicTreeUI.java:1367)
at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1171)
at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:152)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
at javax.swing.JComponent.paintComponent(JComponent.java:541)
at javax.swing.JComponent.paint(JComponent.java:808)
at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4787)
at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4740)
at javax.swing.JComponent._paintImmediately(JComponent.java:4685)
at javax.swing.JComponent.paintImmediately(JComponent.java:4488)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
>>>>>>
必须在事件处理线程中操作Swing组件,如果像你的程序中那样需要在别的线程中操作Swing组件的话,要使用下面这样的方法:
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
tree.updateUI();
}
});
本文转自:http://raymanan.iteye.com/blog/580337
JTree中调用UpdateUI()报以下错误
java.lang.NullPointerException
at javax.swing.plaf.basic.BasicTreeUI.paintRow(BasicTreeUI.java:1367)
at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTreeUI.java:1171)
at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTreeUI.java:152)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
at javax.swing.JComponent.paintComponent(JComponent.java:541)
at javax.swing.JComponent.paint(JComponent.java:808)
at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4787)
at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4740)
at javax.swing.JComponent._paintImmediately(JComponent.java:4685)
at javax.swing.JComponent.paintImmediately(JComponent.java:4488)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
>>>>>>
必须在事件处理线程中操作Swing组件,如果像你的程序中那样需要在别的线程中操作Swing组件的话,要使用下面这样的方法:
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
tree.updateUI();
}
});
本文转自:http://raymanan.iteye.com/blog/580337
相关文章推荐
- Activity被回收导致被绑定Fragment调用getActivity()抛空指针异常
- 关于MyEclipse 10.7 部署报错,抛空指针异常的解决办法
- java调用c dll,指针参数和结构体参数搞定
- java 按值调用 与 按引用(对象的引用,指针)调用、区分对象与对象引用
- 用函数指针读取并调用虚函数表指向的每个函数
- 在继承了Activity的类里面调用cursor =this.getContentResolver().query报空指针错误
- zzzzzCSharp Tips:调用Win32 API如何处理指针类型的参数
- 为什么通过空指针(NULL)可以正确调用一些类的成员函数?
- C++调用空指针对象的成员函数——静态绑定与动态绑定
- C/C++学习之C提高----函数调用模型、指针做函数参数、字符串的基本操作、一级指针内存模型建立
- 关于基类指针指向子类对象,构造函数和析构函数调用的顺序的问题。
- C/C++高阶语法:函数指针及其应用,动态链接库,正向调用
- 关于在C++内用指针调用类的成员函数(1)
- 指针形参的调用
- C#调用带结构体指针的C Dll的方法
- 转:关于在C++内用指针调用类的成员函数
- C语言函数指针参数也是传值调用
- //再回调里面调用lanuma表达式 this指针改变
- c#编程指南(十) 平台调用P-INVOKE完全掌握, 字符串和指针
- Java300StudyNote(3)-Java动态编译(DynamicCompile)、动态运行、反射调用mian方法、JavaCompiler.run()空指针问题