This application uses JEditorPane to display the contents of a file on a web server.
The user enters a URL in the JTextField at the top of the window, and the application displays the
corresponding document (if it exists) in the JEditorPane.
The application also demonstrates how to process HyperlinkEvents when the user clicks a hyperlink
in the HTML document. and notifies all registered HyperlinkListeners (package javax.swing.event) of that event.
If a JEditorPane contains an HTML document and the user clicks a hyperlink, the
JEditorPane generates a HyperlinkEvent and notifies all registered
HyperlinkListeners of that event.
Notice there is no “back” button to return to a previous page.
SimpleBrowser.java// Reading a file by opening a connection through a URL.
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
public class SimpleBrowser extends JFrame
{
private JTextField enter; // JTextField to enter site name
private JEditorPane area; // to display website
// set up GUI
public SimpleBrowser()
{
super("Simple Web Browser");
// create enter and register its listener
enter = new JTextField("Enter file URL here");
enter.addActionListener(event -> getThePage(event.getActionCommand()));
add(enter, BorderLayout.NORTH);
area = new JEditorPane(); // create area
area.setEditable(false);
area.addHyperlinkListener(event -> {
if (event.getEventType() ==
HyperlinkEvent.EventType.ACTIVATED)
getThePage(event.getURL().toString());
});
add(new JScrollPane(area), BorderLayout.CENTER);
setSize(400, 300); // set size of window
setVisible(true); // show window
}
// load document
private void getThePage(String location)
{
try // load document and display location
{
area.setPage(location); // set the page
enter.setText(location); // set the text
}
catch (IOException ioException)
{
JOptionPane.showMessageDialog(this,
"Error retrieving specified URL", "Bad URL",
JOptionPane.ERROR_MESSAGE);
}
}
public static void main(String[] args)
{
SimpleBrowser application = new SimpleBrowser();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Maintained by John Loomis, updated Mon Apr 27 10:31:18 2020