Swing/AnchorTextColor の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/AnchorTextColor へ行く。
- Swing/AnchorTextColor の差分を削除
--- 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: https://lh4.googleusercontent.com/-tilzZhgELFk/VQ7ZWC4xblI/AAAAAAAAN1E/bR7KsSRQuRg/s800/AnchorTextColor.png --- * 概要 [#summary] `JLabel`や`JEditorPane`で表示される`Html`アンカータグのデフォルト文字色を変更するテストを行います。 #download(https://lh4.googleusercontent.com/-tilzZhgELFk/VQ7ZWC4xblI/AAAAAAAAN1E/bR7KsSRQuRg/s800/AnchorTextColor.png) * サンプルコード [#sourcecode] #code(link){{ HTMLEditorKit kit = new HTMLEditorKit(); StyleSheet styleSheet = kit.getStyleSheet(); styleSheet.addRule("a{color:#FF0000;}"); JLabel label2 = new JLabel("<html><a href='" + MYSITE + "'>" + MYSITE + "</a>"); JLabel label3 = new JLabel("<html><a style='color:#00FF00' href='" + MYSITE + "'>" + MYSITE + "</a>"); }} * 解説 [#explanation] 上記のサンプルでは、[https://stackoverflow.com/questions/26749495/customize-detault-html-link-color-in-java-swing Customize detault html link color in java swing - Stack Overflow]を参考にして、 `Html`のアンカータグ(`<a href='...'>...</a>`)のデフォルト文字色を変更しています。 - `HTMLEditorKit#getStyleSheet()`で取得可能なデフォルトの`StyleSheet`はグローバルな`AppContext`で管理されているため、これに`a{color:#FF0000;}`などのルールを追加すると`Swing`アプリ全体でアンカータグの文字色が変更される -- `JLabel`は作成された時点のデフォルト`StyleSheet`を使用(一番上の`JLabel`はアンカーの文字色は青のまま)するが、`JEditorPane`は、現在の`StyleSheet`を使用(すべての`JEditorPane`でアンカーの文字色は赤になる)する? -- `JLabel`は作成された時点のデフォルト`StyleSheet`を使用(一番上の`JLabel`はアンカーの文字色は青のまま)するが、`JEditorPane`は現在の`StyleSheet`を使用(すべての`JEditorPane`でアンカーの文字色は赤になる)する? -- 直接`<a style='color:#00FF00'`のようにスタイルを指定した場合は、こちらが優先される * 参考リンク [#reference] - [https://stackoverflow.com/questions/26749495/customize-detault-html-link-color-in-java-swing Customize detault html link color in java swing - Stack Overflow] * コメント [#comment] #comment #comment