最近在做东西时发现,当在线程里面刷新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()抛空指针的更多相关文章

  1. 关于解决java读取excel文件遇空行抛空指针的问题 !

    关于解决java读取excel文件遇空行抛空指针的问题 ! package exceRead; import java.io.File; import java.io.FileInputStream; ...

  2. ABP在领域事件中异步调用方法抛异常

    在领域事件中调用UserRegistrationManager.RegisterAsync抛异常 Call UserRegistrationManager.RegisterAsync() throw ...

  3. Redis出现多线程调用时抛出 [B cannot be cast to java.lang.Long] 异常

    原因分析: 多个线程同时调用了同一个jedis对象,导致内存数据被多个线程竞争,产生数据混乱 (或者大家都用通一个redis获取同一个实例,登录同一个账号使用缓存时报错) 解决方案:每个线程都new出 ...

  4. ABP .Net Core 调用异步方法抛异常A second operation started on this context before a previous asynchronous operation completed

    1.  问题描述 最近使用ABP .Net Core框架做一个微信开发,同时采用了一个微信开发框架集成到ABP,在微信用户关注的推送事件里调用了一个async 方法,由于没有返回值,也没做任何处理,本 ...

  5. mixare的measureText方法在频繁调用时抛出“referencetable overflow max 1024”的解决方式

    这几天在搞基于位置的AR应用,採用了github上两款开源项目: mixare android-argument-reality-framework 这两个项目实现机制大致同样.我选取的是androi ...

  6. 切记切记:Spring配置文件中,Component-scan无法扫描到的类中的自动装配对象无法被调用,报空指针错误。

    Spring单例注入,单例对象可设置成Spring元件. 只有Spring的元件中@Autowired才有用,在普通类中@Autowired虽然不会编译报错,但运行时会报空指针错误.

  7. JTree实现电脑资源管理器

    0.前言 最近老师布置了一项用Java写资源管理器的任务,一开始以为简单,但是实际操作起来,却发现网上的资源用起来相对生疏.在使用中,我也遇到了许多问题,虽然不能像其他博主一样,写的非常齐全,但我还是 ...

  8. dubbo rpc调用抛出的Exception处理

    关于dubbo的Exception堆栈被吃处理,网上已经有比较多的解决方法,在我们的应用场景中,不希望RPC调用对方抛出业务exception,而是通过Resp中的errorCode,errorMsg ...

  9. 空指针问题(java.lang.NullPointerException)

    在Java中对值为null的指针调用任何方法,就会引发空指针异常(java.lang.NullPointerException).空指针异常绝对是Java中最难查找和调试的一种异常,你永远无法得到任何 ...

随机推荐

  1. 物联网 开发板 基于ESP8266

    The ESP8266 The ESP8266 is a highly integrated chip designed for the needs of an increasingly connec ...

  2. PDF数据防扩散系统方案

    在企业信息化过程中.大量的企业重要图纸和资料都是以电子文件的方式存在.为了避免内部关键数据的外泄,採取了多种方式:设计部门的门禁管制.防火墙.禁止计算机的USB接口等等. 可是泄密问题还是时有发生,原 ...

  3. CSS3影子 box-shadow使用和技巧总结

    text-shadow阴影效果添加到文本,box-shadow块元素被添加到周围的阴影. 随着html5和CSS3声望.越来越普遍的使用特效. 基本语法这是{box-shadow:[inset] x- ...

  4. Java EE (8) -- Java EE Patterns

    Java EE 模式目录由以下三个层组成: –     整合层(4) –     业务层(9) –     表示层(8) 涉及 Java EE 平台代码与其它类型应用程序或遗留系统的集成: 服务激活器 ...

  5. 第三章 AOP 编程选择

    Spring为我们开发者提供了多种AOP的编程方式.我们该如何选择呢? 如果项目采用的是JDK5.0以上版本,我们可以选择@AspectJ的方式.这是第一选择. http://blog.csdn.ne ...

  6. android 读,写图片sd网卡资源

    <pre name="code" class="html"><!--<span style="font-family: Ari ...

  7. C# - CSV file reader

    // ------------------------------------------------------------------------------------------------- ...

  8. java打印各种菱形

    /** * 类说明 * * @author 曾修建 * @version 创建时间:2014-7-23 上午09:50:46 */ public class Diamond { public stat ...

  9. leetcode先刷_Remove Duplicates from Sorted List II

    删除重复节点列表中的.假设所有val如果仅仅是为了保持一个非常easy.应承担重复val节点被删除话.要保持pre节点.每当你想保存这pre问题节点,应该head节点可以被取出,好了,没问题边境控制. ...

  10. Asp.net MVC4之 一个简单的小例子

    练习: 新建一个mvc项目 要求: 有3个视图  Login Index Details 目的:感受一下MVC与传统WebForm的差异性 WebForm的请求模型 MVC请求模型 传统WebForm ...