Erstellen Sie einen Webbrowser in Java

Es gibt mehrere Bibliotheken in Java, mit denen Sie eine Webseite anzeigen können, aber die meisten von ihnen wurden vor einigen Jahren eingestellt. In diesem Artikel erfahren Sie, wie Sie einen Browser erstellen und den Inhalt einer Website anzeigen.

Sie können eine Webseite auf drei Arten anzeigen:
  • JEditorPane: in der JRE enthalten, zeigt aber nur einfache HTML-Seiten an.
  • JWebBrowser: integriert den Internet Explorer-Browser.
  • JxBrowser: integriert den Chromium-Browser, dies ist der effizienteste Weg, da er die Anzeige moderner Webseiten ermöglicht, die mit HTML5/CSS3 entworfen wurden, JavaScript, Siverlight... Der einzige Nachteil ist, dass es bezahlt wird.

Die JEditorPane-Klasse

Die JEditorPane es Ihnen ermöglicht, nur HTML-Inhalte anzuzeigen, JEditorPane ist nützlich, wenn Sie HTML-Dateien öffnen und die Anzeige steuern möchten.

Das folgende Beispiel zeigt eine einfache HTML-Webseite ohne CSS.

import javax.swing.text.html.HTMLEditorKit; 
import javax.swing.*;
import java.io.*;
import java.net.URL;
import java.awt.*;

public class JEditorTest {

public static void main(String[] args) {

JEditorPane jep = new JEditorPane();
jep.setEditable(false);
jep.setBackground(Color.WHITE);

jep.setBounds(316, 110, 598, 545);

HTMLEditorKit kit = new HTMLEditorKit();

jep.setEditorKit(kit);

try {
jep.setPage(new URL("http://imss-www.upmf-grenoble.fr/prevert/Prog/Java/swing/JEditorPane.html"));

}
catch (IOException e) {
jep.setContentType("text/html ");
jep.setText("Seite kann nicht angezeigt werden");
}

JScrollPane scrollPane = new JScrollPane(jep);
JFrame f = new JFrame();
// Nächste Zeile benötigt Java 1.3
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(scrollPane);
f.setSize(512, 342);
f.show();
}
}
Ausgabe:

JEditorPane - Webseite in Java anzeigen

Die resultierende Anzeige ist statisch und Sie können nichts anderes tun als anzeigen. Wir wollen Hyperlinks anklickbar machen, indem wir einen Listener mit Hyperlinks verknüpfen:

jep.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
JEditorPane jepane = (JEditorPane)e.getSource();
try {
jepane.setPage(e.getURL());
}catch (IOException ex) {
jepane.setText("FEHLER: "+ex.getMessage());
}
}
}
});
JEditorPane ermöglicht es Ihnen auch, die Informationen abzurufen oder eine Webseite zu bearbeiten.

JWebBrowser

JWebBrowser ist eine Bibliothek, die eine einfache Integration in die Komponenten der Swing-Anwendung ermöglicht, um einen Webbrowser zu erstellen, der Internet Explorer oder Mozilla unter Windows und Mozilla unter anderen Betriebssystemen importiert. Sie müssen die neueste Version von Internet Explorer installiert haben, um Komponentenverzögerungen und CSS-Stylesheets zu vermeiden.

Die Entwicklung von JWebBrowser basiert auf den folgenden Frameworks und a  Implementierung von SWT, die reichhaltige Komponenten bereitstellt. JWebBrowser bietet einen umfangreichen Browser, der einen Flash-Player, einen Mediaplayer und einen HTML-Editor enthält.

Hier ist der Link für download the JWebBrowser-Bibliothek. Sie können die Anwendung auch online herunterladen und testen. ici.

Die Verwendung von JWebBrowser ist sehr einfach, wie im folgenden Code gezeigt:

 import java.awt.BorderLayout; 
javax.swing.JComponent importieren;
javax.swing.JFrame importieren;
javax.swing.JPanel importieren;
import javax.swing.SwingUtilities;
import chrriis.common.UIUtils;
chrriis.dj.nativeswing.swtimpl.NativeInterface importieren;
chrriis.dj.nativeswing.swtimpl.components.JWebBrowser importieren;

öffentliche Klasse JWebBrowser {

public static JComponent createContent() {
JPanel contentPane = new JPanel(new BorderLayout());
JWebBrowser webBrowser = new JWebBrowser();
webBrowser.navigate("http://www.orange.fr");
contentPane.add(webBrowser);
contentPane zurückgeben;
}

public static void main(String[] args) {
NativeInterface.open();
UIUtils.setPreferredLookAndFeel();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(createContent(),
BorderLayout.CENTER);
frame.setSize(800, 600);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
});
NativeInterface.runEventPump();
}
}

JWebBrowser - Java-Webbrowser

JxBrowser

JxBrowser ist die vollständigste API, da sie den Browser Chromium integriert, der eine Erweiterung von Chrome für Linux ist. JxBrowser wird mit Swing und JavaFX erstellt, wodurch die Anzeige von Webseiten in HTML5/CSS3, JavaScript, Siverlight... ausgezeichnet und ohne Probleme.

Die JxBrowser-API ist kostenpflichtig und sehr teuer, sie wird nur empfohlen, wenn Sie sie wirklich brauchen und in großen Unternehmen. Es wird eine einmonatige Testversion angeboten, geben Sie einfach Ihren Namen und Ihre E-Mail-Adresse unten auf der Seite ein, um den Lizenzschlüssel zu erhalten.

Hier ist der Link zu JxBrowser download  von ihrer offiziellen Website. Sie können auch die demo  und testen Sie die Anwendung.

Der folgende Code zeigt die Verwendung des JxBrowser.

import java.awt.BorderLayout; 
import javax.swing.JFrame;
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;

public class JxBrowserTest {
public static void main(String[] args) {
Browser browser = new Browser();
BrowserView-Ansicht = neue BrowserView(Browser);

JFrame-Frame = new JFrame();
frame.add(view, BorderLayout.CENTER);
frame.setSize(700, 500);
frame.setVisible(true);

browser.loadURL("http://www.youtube.com");
}
}

Java-Webbrowser mit JwBrowser

Referenzen:
So verwenden Sie Editor- und Textfenster
JWebBrowser-Klasse (DJ Native Swing - SWT) - Das DJ-Projekt
Klasse JWebBrowser