[英]NullPointerException when referencing a property of a JTabbedPane
創建JTabbedPane
並獲得Tab計數為11,然后使用setter背后的邏輯有什么問題?
我嘗試引用SetObjects.currentJTabbedPane
的tabCount
,它拋出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");
}
輸出
類
SetObjects:
-> 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)
您將null
傳遞給setCurrentJTabbedPane
嗎? 嘗試添加更多System.out.println語句以檢查可能是問題的每個變量。 另外,使調試語句更簡單,即用三個不同的語句替換System.out.println(A + B + C)
。
編輯:拆分調試語句的原因是,如果System.out.println(object1.foo() + ", " + object2.bar())
拋出NullPointerException,則您不知道哪個對象為null。 將其拆分為兩個語句意味着堆棧跟蹤會准確告訴您問題出在哪里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.