2012-01-30 62 views
1
public void valueChanged(TreeSelectionEvent event) { 
    //Add images depending on selection. 
    String selection = navigation.getLastSelectedPathComponent().toString(); 
    if (selection == "Sigma") { 
     try { 
      Style style = document.addStyle("StyleName", null); 
      StyleConstants.setIcon(style, new ImageIcon("sigma.png")); 
      document.insertString(document.getLength(), "ignored text", style); 
     } catch (BadLocationException e){ 

     } 
    } 

} 

嘿所有,所以我調試了一切,一切都正常工作,除了實際插入的圖標。JTextPane插入圖標故障排除

任何人都可以向我解釋爲什麼這是行不通的?我有一個嘗試和catch語句,但它似乎仍然失敗了。

PS:不要求更多的代碼,我的代碼完全沒有這個代碼編譯。文檔是一個全局變量,並且,我使用樣式來插入圖標(如果我錯了,請糾正我)。

+0

1)爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 *「不要求更多的代碼,」*不要告訴我該怎麼做。 *「我的代碼在沒有此代碼的情況下完美編譯」。*也許,但代碼片段沒有。 2)不要忽視例外。 – 2012-01-30 16:22:23

+0

好的,我明白了,我會記住這一點。有沒有辦法上傳java文件? – 2012-01-30 16:50:13

+0

與「上傳」片段的方式相同。 – 2012-01-30 16:59:34

回答

2

你有一個問題:

selection == "Sigma" 

,這不是你如何比較字符串,將其更改爲:

"Sigma".equals(selection) 

也不要吞下例外:

} catch (BadLocationException e) { 
    //do something here 
    e.printStackTrace();   
} 
+0

這兩個都給我錯誤。 .equals函數給我一個「)」期望的錯誤。 – 2012-01-30 15:50:22

+0

.eprintStacktrace給我一個找不到符號的錯誤。 – 2012-01-30 15:50:41

+0

do e(dot)printSt ...並添加一個「)」。第一個是拼寫錯誤,第二個是語法錯誤。 – 2012-01-30 15:52:14