protected void build() { jepMessage = new JEditorPane("text/html", ""); jepMessage.setOpaque(false); jepMessage.setEditable(false); jepMessage.addHyperlinkListener(this); Font f = UIManager.getFont("Label.font"); StyleSheet ss = new StyleSheet(); String rule = MessageFormat.format( "font-family: ''{0}'';font-size: {1,number}pt; font-weight: {2}; font-style: {3}", f.getName(), f.getSize(), f.isBold() ? "bold" : "normal", f.isItalic() ? "italic" : "normal"); rule = "body {" + rule + "}"; rule = MessageFormat.format( "font-family: ''{0}'';font-size: {1,number}pt; font-weight: {2}; font-style: {3}", f.getName(), f.getSize(), "bold", f.isItalic() ? "italic" : "normal"); rule = "strong {" + rule + "}"; ss.addRule(rule); ss.addRule("a {text-decoration: underline; color: blue}"); HTMLEditorKit kit = new HTMLEditorKit(); kit.setStyleSheet(ss); jepMessage.setEditorKit(kit); setLayout(new BorderLayout()); add(jepMessage, BorderLayout.CENTER); lblWarning = new JLabel(""); lblWarning.setVisible(false); lblWarning.setIcon(ImageProvider.get("warning-small.png")); lblWarning.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); JPanel pnl = new JPanel(new BorderLayout()); pnl.add(lblWarning, BorderLayout.NORTH); add(pnl, BorderLayout.WEST); }
private MainPanel() { super(new GridLayout(3, 1)); add(makePanel("Default", HREF)); // [Customize detault html link color in java swing - Stack Overflow] // http://stackoverflow.com/questions/26749495/customize-detault-html-link-color-in-java-swing HTMLEditorKit kit = new HTMLEditorKit(); StyleSheet styleSheet = kit.getStyleSheet(); styleSheet.addRule("a{color:#FF0000;}"); add(makePanel("styleSheet.addRule(\"a{color:#FF0000;}\")", HREF)); add( makePanel( "<a style='color:#00FF00'...", "<html><a style='color:#00FF00' href='" + MYSITE + "'>" + MYSITE + "</a>")); setPreferredSize(new Dimension(320, 240)); }
/** * Builds the style sheet used in the internal help browser * * @return the style sheet */ protected StyleSheet buildStyleSheet() { StyleSheet ss = new StyleSheet(); BufferedReader reader = new BufferedReader( new InputStreamReader(getClass().getResourceAsStream("/data/help-browser.css"))); StringBuffer css = new StringBuffer(); try { String line = null; while ((line = reader.readLine()) != null) { css.append(line); css.append("\n"); } reader.close(); } catch (Exception e) { System.err.println( tr("Failed to read CSS file ''help-browser.css''. Exception is: {0}", e.toString())); e.printStackTrace(); return ss; } ss.addRule(css.toString()); return ss; }