我已經編寫了圖形用戶界面我的CRUD計劃,當我要運行它,我得到:當我啓動我的GUI時,爲什麼會出現NullPointerException?
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at gui.guimain$1.run(guimain.java:477)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
那在NPE來自代碼:
public static void main(String[] args){
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run(){
maingui.showStart();// thats the line with the Exception
}
});
}
和那方法showStart ():
public void showStart(){
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.getContentPane().removeAll();
tabstructure.removeAll();
Produkt filter=new Produkt();
JPanel P=new JPanel();
P=Produktgui(0, filter);
JPanel R=new JPanel();
R=Billgui(0);
JPanel nR=new JPanel();
nR=Billgui(0);
tabstructure.addTab("e", P);
tabstructure.addTab("Bills", R);
tabstructure.addTab("Pay bill", nR);
mainFrame.getContentPane().add(tabstructure);
mainFrame.validate();
mainFrame.repaint();
mainFrame.pack();
mainFrame.setVisible(true);
}
爲什麼我得到了NullPointerException
?
好像'maingui'是'null'。你在什麼地方初始化它? – Baz
不回答你的問題,但你有'JPanel P = new JPanel(); P = Produktgui(0,filter);'。在這些情況下是否有某些原因想要調用JPanel()構造函數?這似乎是不必要的/沒有價值。 – mah