JavaでWebブラウザを作成する

JavaにはWebページを表示できるライブラリがいくつかありますが、それらのほとんどは数年前に廃止されました。この記事では、ブラウザを作成してWebサイトのコンテンツを表示する方法を説明します

Webページは3つの方法で表示できます:
  • JEditorPane: JREに含まれていますが、単純なHTMLページのみを表示します。
  • JWebBrowser: Internet Explorerブラウザを統合します。
  • JxBrowser:Chromiumブラウザを統合し、HTML5 / CSS3で設計された最新のWebページを表示できるため、最も効率的な方法です。 JavaScript、Siverlight...唯一の欠点は、有料であることです.

JEditorPaneクラス

JEditorPane は HTML コンテンツのみを表示でき、JEditorPane は HTML ファイルを開いて表示を制御する場合に便利です。

次の例は、CSS を使用しない単純な HTML Web ページを示しています。

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(キット);

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("ページを表示できません");
}

JScrollPane scrollPane = new JScrollPane(jep);
JFrame f = new JFrame();
// 次の行には Java 1.3 が必要
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(scrollPane);
f.setSize(512, 342);
f.show();
}
}
Output:

JEditorPane - java で Web ページを表示

結果の表示は静的であり、表示以外の操作はできません。リスナーをハイパーリンクに関連付けることで、ハイパーリンクをクリック可能にしたい:

jep.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
JEditorPane jepane = (JEditorPane)e.getSource();
{
jepane.setPage(e.getURL());
}catch (IOException ex) {
jepane.setText("エラー: "+ex.getMessage());
}
}
}
});
JEditorPane では、Web ページの情報を取得したり、編集したりすることもできます。

JWebBrowser

JWebBrowser は、Swing アプリケーションのコンポーネントに簡単に統合して、Windows 上の Internet Explorer や Mozilla、その他のオペレーティング・システム上の Mozilla をインポートする Web ブラウザを作成できるライブラリです。コンポーネントの遅延や CSS スタイルシートを避けるために、最新バージョンの Internet Explorer をインストールする必要があります。

JWebBrowser の開発は、以下のフレームワークと a 豊富なコンポーネントを提供するSWTの実装。JWebBrowserは、Flash Player、メディアプレーヤー、HTMLエディタを含むリッチなブラウザを提供します.

jwebBrowserライブラリをダウンロードしてください。また、アプリケーションをオンラインでダウンロードしてテストすることもできます。ici.

JWebBrowserの使い方は、次のコードに示すように非常に簡単です:

 import java.awt.BorderLayout;
インポートjavax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
インポートchrriis.common.UIUtils;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import chrriis.dj.nativeswing.swtimpl.components.JWebBrowser;

public class JWebBrowser {

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

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 Webブラウザ

JxBrowser

JxBrowser は、Chrome for Linux の拡張機能であるブラウザ Chromium を統合しているため、最も完全な API です。JxBrowserはSwingとJavaFXで作られており、HTML5 / CSS3、JavaScript、Siverlightで設計されたWebページを表示します。

JxBrowser APIは有料で非常に高価であるため、本当に必要な場合や大企業でのみお勧めします。1ヶ月の試用版が提供されており、ページの下部に名前とメールアドレスを入力するだけでライセンスキーを取得できます.

ここにJxBrowserダウンロード 彼らの公式ウェブサイトから。demo アプリケーションをテストします.

次のコードは、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 view = new BrowserView(browser);

JFrameフレーム = new JFrame();
frame.add(ビュー、BorderLayout.CENTER);
frame.setSize(700, 500);
frame.setVisible(true);

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

JwBrowser を使用した Java Web ブラウザー

参照:
エディターペインとテキストペインの使用方法
JWebBrowser Class (DJ Native Swing - SWT) - DJプロジェクト
Class JWebBrowser