2

さて、私は投稿のタイトルが非常によく知られていることを知っています。私はこのテーマに関する多くの投稿を見ましたが、それらのどれもJavaのコードをカバーしていませんでした。私はこのHyperlinkListenerクラスを持っています:

private void editorpaneHyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
   // TODO add your handling code here:
   if (evt.getEventType() ==
                       HyperlinkEvent.EventType.ACTIVATED) {
                                    try {
                                        try {
    java.awt.Desktop.getDesktop().browse(evt.getURL().toURI());
                                           } catch (IOException ex) {
    Logger.getLogger(MyAssistantGUI.class.getName()).log(Level.SEVERE, null, ex);
                                        } 
                                 catch (URISyntaxException ex) {
    Logger.getLogger(MyAssistantGUI.class.getName()).log(Level.SEVERE, null, ex);
                        }
              System.out.println("Open browser: " + evt.getURL());

にスタイルシートを追加してから追加しようとしましJEditorPanea:active {color: #f00;}が、機能しません。a:active/hoover次に、APIでJavaが..etcをサポートしていないことを確認しました。ユーザーがリンクをクリックしたときに色を変更する方法について、提案をいただけますか?

4

1 に答える 1

4

リスナーでは、テキスト内の位置を取得できます。次に、にキャストして、持っているオフセットを渡すことJEditorPane's DocumentStyledDocument使用します。getCharacterElement()メソッドを使用して、Element背景や前景などの属性を変更できますsetCharacterAttributes()

于 2012-05-24T17:39:07.837 に答える