2014-03-31 118 views
0

我使用NetBeans GUI生成器有它運行良好,但是當我複製從NetBeans中的源代碼,並在Eclipse中粘貼了一個程序我收到以下錯誤。異常在Java異常在線程「AWT-EventQueue的-0」顯示java.lang.NullPointerException

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
at javax.swing.ImageIcon.<init>(ImageIcon.java:205) 
at frame2.initComponents(frame2.java:100) 
at frame2.<init>(frame2.java:17) 
at frame2$5.run(frame2.java:671) 
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) 
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) 
at java.awt.EventQueue.access$200(EventQueue.java:103) 
at java.awt.EventQueue$3.run(EventQueue.java:694) 
at java.awt.EventQueue$3.run(EventQueue.java:692) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) 
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) 
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) 
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) 
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) 

我在網上搜索它,發現我可能沒有初始化導致這個異常的東西。因此,這裏的問題: -

1)如果有,爲什麼程序在Netbeans中運行良好任何異常?

2)我怎麼能讓這段代碼在Eclipse上運行?

這裏是我的代碼的鏈接:

http://pastebin.com/tVXjKZ9A

而且我的推杆上的正確位置的圖像。

+0

這個錯誤表明你在'frame2.java'第100行中做了錯誤的事情,你可能會將'null'傳遞給'ImageIcon'構造函數。 – zapl

回答

2

我不確定我是否理解「copy to java ...」的含義。但無論如何,stacktrace表明你的代碼中有100行的nullpointer

jLabel33.setIcon(
     new javax.swing.ImageIcon(getClass().getResource("I:/Workspace/image.png")) 
); // NOI18N 

該行的問題是,你得到了「火車點故障」。有幾個職位nullPointer可能來自。但我想,當你將你的代碼移到Netbeans之外時,你無法再訪問I:/Workspace

即使那不是你應該改變這種狀況,因此該路徑是相對於項目的問題。而不是作爲絕對路徑硬編碼。這將使代碼移動到另一臺計算機變得更加容易:-)。

+0

對不起,它是從netbeans複製到Eclipse ..我已經嘗試改變路徑。當前路徑是eclipse工作區。 – Vaibhav

+0

@Vaibhav與java文件在同一文件夾中的文件? –

+0

@ RD-Develop yes..I把文件放在同一個文件夾中......甚至嘗試改變路徑......但沒有運氣......它給了我同樣的例外...... – Vaibhav

0

我終於讓我的代碼在eclipse中運行。 在第100行(由stacktrace提到)存在空指針異常。 這裏是那條線。

jLabel33.setIcon(
    new javax.swing.ImageIcon(getClass().getResource("I:/Workspace/image.png")) 
); // NOI18N 

我刪除的getClass()的getResource和這裏是新線

jLabel33.setIcon(
    new javax.swing.ImageIcon("I:/Workspace/image.png") 
); // NOI18N 

和它工作得很好。現在一切都很好。但我想知道getClass()。getResource如何讓我的代碼在eclipse中停止工作,這在netbeans中工作得很好。

相關問題