我将窗口分成左右两部分,左边是JTree, 右边是JTabbedPane。我想通过单击tree上叶子的事件来调用JTabbedPane的addTab()方法添加一个选项卡,可是却出现了“Exception in thread "Timer-0" java.lang.NullPointerException”这个异常。对线程问题不清楚,求高手相助。  但我将两个部分单独运行,都是正常的。非常奇怪,求高手解惑!再次谢过

解决方案 »

  1.   

    Timer-0空指针。
    肯定那里有条指令在没有得到引用的情况下就被调用了。
      

  2.   

    简单的测试:jTabbedPane1.addTab("测试",new JPanel());如果有错误,检查你的tree事件代码是否正确。
      

  3.   

    同意楼上,swing组件大都是线程安全的,不会是线程问题。
      

  4.   

    各位大侠好,的确与线程没有关系。是我的一个面板对象被置空了。  可是遇到一个奇怪的问题。我继承鼠标事件适配器,并设置了一个私有对象,通过setXXX()的形势进行赋值,我通过在这个函数中加入一个System.out.println()语句测试确定私有对象被赋值了。可调用mouseClicked()方法时,它竟然又被置回了null  我继续检查代码,请各位大侠告诉我可能的原因,谢谢!!!
      

  5.   

    晕,找到原因了!!!!大家看看下面的函数,形参拼错了!!!可编译器竟然通过了,晕!被害惨了!!!!!  谢谢上面各位,现在结贴!
    public void setComponent(JComponent jCompenent)
    {
    this.jComponent = jComponent;
    }
      

  6.   

    不是编译器的错误,this.jComponent = jComponent;相当于this.jComponent = this.jComponent这个是没错的。