最近在做东西时发现,当在线程里面刷新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. Bootstrap之表格

    基本实例 为随意<table>标签加入.table类能够为其赋予主要的样式-少量的内补(padding)和水平方向的分隔线. <table class="table&quo ...

  2. java中的特殊字符集合

    JAVA中转义字符: 1.八进制转义序列:\ + 1到3位5数字:范围'\000'~'\377'       \0:空字符 2.Unicode转义字符:\u + 四个 十六进制数字:0~65535   ...

  3. C# 通信学习笔记

    C# 通信学习笔记 DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不 ...

  4. SQL SERVER FOR 多列字符串连接 XML PATH 及 STUFF

    原文:SQL SERVER FOR 多列字符串连接 XML PATH 及 STUFF 本来用 Writer 写一篇关于一列多行合并的博客来的,结果快写完了时候,在一个插入代码时候,崩了,重新打开,居然 ...

  5. 百度mp3接口

    歌曲ID 具体信息接口:http://tingapi.ting.baidu.com/v1/restserver/ting? from=android&version=2.4.0&met ...

  6. linux动态库编译和使用

    linux动态库编译和使用详细剖析 引言 重点讲述linux上使用gcc编译动态库的一些操作.并且对其深入的案例分析.最后介绍一下动态库插件技术, 让代码向后兼容.关于linux上使用gcc基础编译, ...

  7. CodeForces 52C Circular RMQ(间隔周期段树,间隔更新,间隔总和)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://codeforces.com/problemset/problem/52/C You are g ...

  8. Windows Phone开发(30):图形

    原文:Windows Phone开发(30):图形 图形如矩形.椭圆.路径等都从Shape类派生,它们一般表示规则或不规则图形,这些图形都是简单的二维图形,我相信大家都能理解的. 例一:矩形. 请看下 ...

  9. CentOS 6 安装Oracle11g

    原创作品.从 "深蓝blog" 博客,欢迎转载,请务必注明转载如下源.否则追究其版权责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/ar ...

  10. VS2008下直接安装Boost库1.46.1版本号

    Boost图书馆是一个移植.提供源代码C++库.作为一个备份标准库,这是C++发动机之间的一种标准化的过程. Boost图书馆由C++图书馆标准委员会工作组成员发起,一些内容有望成为下一代C++标准库 ...