Swing/AnchorTextColor のバックアップの現在との差分(No.3)
- category: swing folder: AnchorTextColor title: JLabelで表示するHtmlアンカータグの文字色を変更する tags: [JLabel, Html, JEditorPane, HTMLEditorKit, StyleSheet] author: aterai pubdate: 2015-03-23T00:19:09+09:00 description: JLabelやJEditorPaneで表示されるHtmlアンカータグのデフォルト文字色を変更するテストを行います。 image:
概要
JLabel
やJEditorPane
で表示されるHtml
アンカータグのデフォルト文字色を変更するテストを行います。
Screenshot
Advertisement
サンプルコード
HTMLEditorKit kit = new HTMLEditorKit();
StyleSheet styleSheet = kit.getStyleSheet();
styleSheet.addRule("a{color:#FF0000;}");
JLabel label2 = new JLabel("<html><a href='" + MYSITE + "'>" + MYSITE + "</a>");
#spandel
#spanend
JLabel label3 = new JLabel("<html><a style='color:#00FF00' href='" + MYSITE + "'>" + MYSITE + "</a>");
View in GitHub: Java, Kotlin解説
上記のサンプルでは、Customize detault html link color in java swing - Stack Overflowを参考にして、 上記のサンプルでは、Customize detault html link color in java swing - Stack Overflowを参考にして、Html
のアンカータグ(<a href='...'>...</a>
)のデフォルト文字色を変更しています。
- デフォルトの
StyleSheet
(HTMLEditorKit#getStyleSheet()
)は、グローバルなAppContext
で管理されているため、これにa{color:#FF0000;}
などのルールを追加すると、Swing
アプリ全体でアンカータグの文字色を変更できる-
JLabel
は作成された時点のデフォルトStyleSheet
を使用(一番上のJLabel
はアンカーの文字色は青のまま)するが、JEditorPane
は、現在のStyleSheet
を使用(すべてのJEditorPane
でアンカーの文字色は赤になる)する? - 直接、
<a style='color:#00FF00'
のようにスタイルを指定した場合は、こちらが優先される
-
-
HTMLEditorKit#getStyleSheet()
で取得可能なデフォルトのStyleSheet
はグローバルなAppContext
で管理されているため、これにa{color:#FF0000;}
などのルールを追加するとSwing
アプリ全体でアンカータグの文字色が変更される-
JLabel
は作成された時点のデフォルトStyleSheet
を使用(一番上のJLabel
はアンカーの文字色は青のまま)するが、JEditorPane
は現在のStyleSheet
を使用(すべてのJEditorPane
でアンカーの文字色は赤になる)する? - 直接
<a style='color:#00FF00'
のようにスタイルを指定した場合は、こちらが優先される
-
参考リンク
- Customize detault html link color in java swing - Stack Overflow
- Customize detault html link color in java swing - Stack Overflow