2010-10-29 62 views
0

创建JTabbedPane并得到11的制表符数 之后的逻辑有什么问题,然后使用setter?引用JTabbedPane的属性时出现NullPointerException

我尝试引用SetObjects.currentJTabbedPanetabCount,它会抛出 NullPointerException

创建

jtp.setSelectedIndex(0); 

int jtpCount=jtp.getTabCount(); 
System.out.println(C+M+AND+jtpCount+": jtpCount of The JTabbedPane created: \n"); 

setCurrentJTabbedPane(jtp); 
int currentCount=SetObjects.currentJTabbedPane.getTabCount(); 
System.out.println(C+M+AND+currentCount+": currentCount for 
    SetObjects.currentJTabbedPane.getTabCount() : \n"); 

设定器

public static void setCurrentJTabbedPane(JTabbedPane currentJTabbedPane) { 
    String M =(" --> in setCurrentJTabbedPane() var: <-- \n"); 
    System.out.println(M); 

    SetObjects.currentJTabbedPane = currentJTabbedPane; 
    System.out.println(C+M+AND+SetObjects.currentJTabbedPane.getTabCount()+": 
     SetObjects.currentJTabbedPane.getTabCount() : \n"); 
} 

输出

CLASS
濑bjects:
- > JTabbedPane的OBJ()VAR:XXXXXXXXX:XXXXXXXX < -
:11:JTabbedPane中的jtpCount创建:

--> in setCurrentJTabbedPane() var: <-- 

异常在线程 “主” 显示java.lang.NullPointerException
在view.SetObjects.setCurrentJTabbedPane(SetObjects.java:385)
在view.SetObjects.obj(SetObjects.java:217)
在view.SchoolJDesktopPane.createInnerFrame(SchoolJDesktopPane.java:119)
在view.SchoolJDesktopPane。 (SchoolJDesktopPane.java:97 )
在view.Main.createJDesktopPane(Main.java:60)
在view.Main.main(Main.java:54)

+0

你在** create **中初始化'currentJTabbedPane'的位置? – Ishtar 2010-10-29 01:39:44

+0

我看到你已经更新了你的帖子,你现在传递'jtp'到setCurrentJTabbedPane。你刚解决了你的问题吗? – 2010-10-29 01:44:47

回答

1

你传递nullsetCurrentJTabbedPane?尝试添加更多的System.out.println语句来检查可能是问题的每个变量。此外,使您的调试语句更简单,即用三个不同的语句替换System.out.println(A + B + C)

编辑:拆分调试语句的原因是,如果System.out.println(object1.foo() + ", " + object2.bar())引发NullPointerException,那么你不知道哪个对象是空的。将它分成两个语句意味着堆栈跟踪会准确告诉您问题出在哪里。

+0

抱歉,jtp是创建的JTabbedPane。 – ceyesumma 2010-10-29 01:43:58

相关问题