好的,我知道该帖子的标题非常熟悉。我看到了很多有关此主题的文章,但没有一篇涉及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());


我试图将样式表添加到我的JEditorPane,然后添加a:active {color: #f00;},但是它不起作用。然后我在API中看到Java不支持a:active/hoover .. etc。
您能给我一些建议,关于用户单击链接时如何更改颜色吗?

最佳答案

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

08-07 22:37
查看更多