好的,我知道帖子的标题非常熟悉。我在这个主题上看到了很多帖子,但是没有关于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
等。
您可以给我一些关于如何在用户点击链接时更改颜色的建议吗?
答案 0 :(得分:4)
在听众中,您可以获得文本中的位置。然后将JEditorPane's
Document
投射到StyledDocument
并使用getCharacterElement()
传递您拥有的偏移量。对于Element
,您可以使用setCharacterAttributes()
方法更改属性,例如背景或前景。