好的,我知道该帖子的标题非常熟悉。我看到了很多有关此主题的文章,但没有一篇涉及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()
方法更改属性,例如背景或前景。