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());

我尝试将 Style-sheet 添加到我的JEditorPane然后添加a:active {color: #f00;},但它不起作用。然后我在 API 中看到 java 不支持a:active/hoover..etc。你能给我建议,当用户点击链接时如何改变颜色?

4

1 回答 1

4

在侦听器中,您可以获得文本中的位置。然后将您的JEditorPane's Document转换为StyledDocument并使用getCharacterElement()传递您拥有的偏移量。对于Element您可以使用方法更改属性,例如背景或前景setCharacterAttributes()

于 2012-05-24T17:39:07.837 回答