2012-01-30 64 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