2012-01-30 12 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挿入アイコンのトラブルシューティング

誰も私にこれがなぜ機能していないのか説明できますか?私はtryとcatch文を持っていますが、それでも私は失敗するようです。

PS:もっとコードを要求しないでください。私のコードはこのコードなしで完全にコンパイルされます。ドキュメントはグローバル変数で、アイコンを挿入するためにスタイリングを使用しています(私が間違っている場合は修正してください)。

+0

1)もっと早く助けを求めるには、[SSCCE](http://sscce.org/)を投稿してください。 * "もっとコードを求めないでください" *何をすべきか教えてください。 * "私のコードはこのコードなしで完全にコンパイルされます" *おそらく、スニペットはしません。 2)例外を無視しないでください。 –

+0

さて、私はそれを念頭に置いておきます。 Javaファイルをアップロードする方法はありますか? –

+0

スニペットをアップロードするのと同じ方法です。 –

答えて

2

あなたは一つの問題があります。

selection == "Sigma" 

あなたは文字列を比較する方法はありません、それを変更します。

"Sigma".equals(selection) 

また、例外を飲み込むていない:

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

どちらも私に間違いを与えます。 .equals関数は私に ")"予想されるエラーを与えます。 –

+0

.eprintStacktraceは私にシンボルが見つかりませんでしたエラーを返します。 –

+0

e(dot)printSt ...を実行し、もう1つ ")"を追加します。最初のものはタイプミスで、2番目は構文エラーです。 –

関連する問題