Index: src/org/openstreetmap/josm/gui/help/HelpBrowser.java =================================================================== --- src/org/openstreetmap/josm/gui/help/HelpBrowser.java (revision 17046) +++ src/org/openstreetmap/josm/gui/help/HelpBrowser.java (working copy) @@ -135,6 +135,12 @@ return ss; } ss.addRule(css); + + // overwrite link color + String linkColor = JosmEditorPane.getLinkColor(null); + if (linkColor != null) { + ss.addRule("a {color: "+linkColor+"}"); + } return ss; } Index: src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java =================================================================== --- src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java (revision 17046) +++ src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java (working copy) @@ -100,7 +100,7 @@ final Font f = UIManager.getFont("Label.font"); final StyleSheet ss = new StyleSheet(); ss.addRule((allBold ? "html" : "strong, b") + " {" + getFontRule(f) + '}'); - ss.addRule("a {text-decoration: underline; color: blue}"); + ss.addRule("a {text-decoration: underline; color: "+getLinkColor("blue")+"}"); ss.addRule("h1 {" + getFontRule(GuiHelper.getTitleFont()) + '}'); ss.addRule("ol {margin-left: 1cm; margin-top: 0.1cm; margin-bottom: 0.2cm; list-style-type: decimal}"); ss.addRule("ul {margin-left: 1cm; margin-top: 0.1cm; margin-bottom: 0.2cm; list-style-type: disc}"); @@ -140,6 +140,19 @@ ); } + /** + * Returns the color (in CSS format) that should be used for links. + * If the current look and feel does not provide a link color, the passed default color is used. + * @param defaultColor the default color + * @return link color + */ + public static String getLinkColor(String defaultColor) { + Color color = UIManager.getColor("Component.linkColor"); + return (color != null) + ? String.format("#%06x", color.getRGB() & 0xffffff) + : defaultColor; + } + @Override public void destroy() { TextContextualPopupMenu.disableMenuFor(this, launcher); Index: src/org/openstreetmap/josm/gui/widgets/HtmlPanel.java =================================================================== --- src/org/openstreetmap/josm/gui/widgets/HtmlPanel.java (revision 17046) +++ src/org/openstreetmap/josm/gui/widgets/HtmlPanel.java (working copy) @@ -56,7 +56,7 @@ "bold", f.isItalic() ? "italic" : "normal" ) + '}'); - ss.addRule("a {text-decoration: underline; color: blue}"); + ss.addRule("a {text-decoration: underline; color: "+JosmEditorPane.getLinkColor("blue")+"}"); ss.addRule("ul {margin-left: 1cm; list-style-type: disc}"); JosmHTMLEditorKit kit = new JosmHTMLEditorKit(); kit.setStyleSheet(ss); Index: src/org/openstreetmap/josm/gui/GettingStarted.java =================================================================== --- src/org/openstreetmap/josm/gui/GettingStarted.java (revision 17046) +++ src/org/openstreetmap/josm/gui/GettingStarted.java (working copy) @@ -56,7 +56,7 @@ private static final String STYLE = "\n";