This is not a complete browser, so the links do not work.
Here's a quick overview of how this Java code works:
Reference html viewer
HtmlEditorKitTest.java
import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.SwingUtilities; import javax.swing.text.Document; import javax.swing.text.html.HTMLEditorKit; import javax.swing.text.html.StyleSheet; /** * A complete Java class that demonstrates how to create an HTML viewer with styles, * using the JEditorPane, HTMLEditorKit, StyleSheet, and JFrame. * * @author alvin alexander, devdaily.com. * */ public class HtmlEditorKitTest { public static void main(String[] args) { new HtmlEditorKitTest(); } public HtmlEditorKitTest() { SwingUtilities.invokeLater(new Runnable() { public void run() { // create jeditorpane JEditorPane jEditorPane = new JEditorPane(); // make it read-only jEditorPane.setEditable(false); // create a scrollpane; modify its attributes as desired JScrollPane scrollPane = new JScrollPane(jEditorPane); // add an html editor kit HTMLEditorKit kit = new HTMLEditorKit(); jEditorPane.setEditorKit(kit); // add some styles to the html StyleSheet styleSheet = kit.getStyleSheet(); styleSheet.addRule("body {color:#000; font-family:times; margin: 4px; }"); styleSheet.addRule("h1 {color: blue;}"); styleSheet.addRule("h2 {color: #ff0000;}"); styleSheet.addRule("pre {font : 10px monaco; color : black; background-color : #fafafa; }"); // create some simple html as a string String htmlString = "<html>\n" + "<body>\n" + "<h1>Welcome!</h1>\n" + "<h2>This is an H2 header</h2>\n" + "<p>This is some sample text</p>\n" + "<p><a href=\"http://devdaily.com/blog/\">devdaily blog</a></p>\n" +"<p><a href=\"https://alvinalexander.com/blog/post/jfc-swing/how-create-simple-swing-html-viewer-browser-java/\">html viewer</a>" + "</body>\n"; // create a document, set it on the jeditorpane, then add the html Document doc = kit.createDefaultDocument(); jEditorPane.setDocument(doc); jEditorPane.setText(htmlString); // now add it all to a frame JFrame j = new JFrame("HtmlEditorKit Test"); j.getContentPane().add(scrollPane, BorderLayout.CENTER); // make it easy to close the application j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // display the frame j.setSize(new Dimension(300,200)); // pack it, if you prefer //j.pack(); // center the jframe, then make it visible j.setLocationRelativeTo(null); j.setVisible(true); } }); } }
Maintained by John Loomis, updated Sat Apr 18 11:30:12 2020