作者jerrychai25 (和風散月)
看板java
標題[問題] 我的程式出現這樣的錯誤訊息@@
時間Sun Apr 19 15:31:25 2009
程式的目的是為了把文字檔裡的東西讀出來放進label裡,文字檔裡就一行純文字
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at GUI.jButtonRankActionPerformed(GUI.java:624)
at GUI.access$1000(GUI.java:16)
at GUI$11.actionPerformed(GUI.java:532)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6041)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5806)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4413)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4243)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
這是出錯的main class的code部份
private void jButtonRankActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.setVisible(false);
jFrameRank.setSize(380, 380);
jFrameRank.setVisible(true);
no_1.setText(record.getRank(1));
score_no_1.setText(record.getRankScore(1));
no_2.setText(record.getRank(2));
score_no_2.setText(record.getRankScore(2));
no_3.setText(record.getRank(3));
score_no_3.setText(record.getRankScore(3));
no_4.setText(record.getRank(4));
score_no_4.setText(record.getRankScore(4));
no_5.setText(record.getRank(5));
score_no_5.setText(record.getRankScore(5));
}
no_1~no_5是Label,record是rank類別的物件
後面的record.getRank()的code如下(定義在Rank class內)
public String getRank(int num){
if(num == 1)
filename = "no_1";
else if(num == 2)
filename = "no_2";
else if(num == 3)
filename = "no_3";
else if(num == 4)
filename = "no_4";
else if(num == 5)
filename = "no_5";
try {
//開檔,讀取文字
FileReader fis = new FileReader("text\\" + filename + ".txt");
text = "";
for(int c = fis.read(); c != -1; c = fis.read()){
text += (char)c;
}
//關檔
fis.close();
this.rank = text;
System.out.println(text);
//回傳文字
return rank;
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
return "";
}
使用的IDE是netbeans 6.5.1
不知道是我觀念有錯還是怎樣@ @a,de了挺久的bug,但顯示出來一直是空白的
如果有人知道是怎麼一回事的話,請不吝指教
本版首PO,請鞭小力一點> <
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.113.10.125
※ 編輯: jerrychai25 來自: 59.113.10.125 (04/19 15:36)
推 jtmh:GUI.jButtonRankActionPerformed(GUI.java:624) -> 看看第 04/19 15:44
→ jtmh:624 行哪個變數沒初始值是 null 的。 不等推文紅綠燈了 04/19 15:47
→ jerrychai25:哦哦@@ 04/19 15:49
→ jerrychai25:可是我每個變數都有初始值啦0.0 04/19 15:59
推 yuekun:NullPointerException有時候你給的index比陣列還大也會出現 04/19 16:32
推 Goodwater:最討厭看到NullPointerException = = 04/19 17:21
→ jerrychai25:可是我沒用陣列啊=口=,我在想該不會是我的reader寫錯 04/19 17:23
推 qrtt1:你是純用眼睛debug 還是加用 ide 的 debug mode @@? 04/19 17:26
推 TonyQ:null pointer 很單純就是自己沒有處理好...是自己要檢討 04/19 19:29
→ jerrychai25:我什麼code都沒改..........離開一個小時回來可以動了 04/19 20:25
推 szss8765:通常錯誤就看第一行,有時候改第一行可以少很多錯誤訊息 04/20 02:10