次の方法で属性を取得する方法を理解しています。
public void hyperlinkUpdate(HyperlinkEvent e) {
e.getSourceElement().getAttributes().getAttribute(HTML.Attribute.COLOR);
その属性を変更するにはどうすればよいですか?
このコードは、要素のスタイルを変更します。それが役立つことを願っています...
private void editorHyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
if (evt.getEventType() == HyperlinkEvent.EventType.ENTERED) {
changeStyle(evt.getSourceElement(), "a:hover");
} else if (evt.getEventType() == HyperlinkEvent.EventType.EXITED) {
changeStyle(evt.getSourceElement(), "a");
}
}
private void changeStyle(Element el, String styleName) {
HTMLDocument doc = (HTMLDocument)editor.getDocument();
StyleContext ss = doc.getStyleSheet();
Style style = ss.getStyle(styleName);
int start = el.getStartOffset();
int end = el.getEndOffset();
doc.setCharacterAttributes(start, end - start, style, false);
}