Создание веб-браузера на java
В Java есть несколько библиотек, которые позволяют отображать веб-страницу, но большинство из них были сняты с производства несколько лет назад. В этой статье мы увидим, как создать браузер и отображать содержимое веб-сайта.
Вы можете отобразить веб-страницу тремя способами:
Вы можете отобразить веб-страницу тремя способами:
- JEditorPane: включен в JRE, но отображает только простые HTML-страницы.
- JWebBrowser: интегрирует браузер Internet Explorer.
- JxBrowser: интегрирует браузер Chromium, это наиболее эффективный способ, поскольку он позволяет отображать современные веб-страницы, разработанные с помощью HTML5/CSS3, JavaScript, Siverlight... Единственный недостаток в том, что он платный.
Класс JEditorPane
JEditorPane позволяет отображать только HTML-содержимое, JEditorPane полезен, когда вы хотите открыть и управлять отображением HTML-файлов.
В следующем примере показана простая HTML-страница без CSS.
Результирующее отображение статично, и вы не можете делать ничего, кроме просмотра. Мы хотим сделать гиперссылки кликабельными, связав прослушиватель с гиперссылками:
Разработка JWebBrowser основана на следующих фреймворках и реализация SWT, предоставляющая богатые компоненты. JWebBrowser предлагает полнофункциональный браузер, содержащий Flash-плеер, медиаплеер и HTML-редактор.
Вот ссылка на скачать библиотеку JWebBrowser. Вы также можете скачать и протестировать приложение онлайн. ici.
Использование JWebBrowser очень просто, как показано в следующем коде:
JxBrowser API платный и очень дорогой, рекомендуется только в том случае, если он вам действительно нужен и в крупных компаниях. Предлагается пробная версия на один месяц, просто введите свое имя и адрес электронной почты внизу страницы, чтобы получить лицензионный ключ.
вот ссылка на JxBrowser download с их официального сайта. Вы также можете запустить demo и протестируйте application.
В следующем коде показано использование JxBrowser.
References:
как использовать панели редактора и панели текста
JWebBrowser Class (DJ Native Swing - SWT) - Диджейский проект
Class JWebBrowser
import javax.swing.text.html.HTMLEditorKit;Output:
import javax.swing.*;
импорт 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 = новый 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("невозможно просмотреть страницу");
}
JScrollPane scrollPane = new JScrollPane(jep);
JFrame f = новый JFrame();
// Следующая строка требует Java 1.3
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(scrollPane);
f.setSize(512, 342);
f.show();
}
}
Результирующее отображение статично, и вы не можете делать ничего, кроме просмотра. Мы хотим сделать гиперссылки кликабельными, связав прослушиватель с гиперссылками:
jep.addHyperlinkListener(new HyperlinkListener() {JEditorPane также позволяет получить информацию или отредактировать веб-страницу.
public void hyperlinkUpdate(HyperlinkEvent e) {
if(e.getEventType() == HyperlinkEvent.Type.ACTIVATED) {
JEditorPane jepane = (JEditorPane)e.getSource();
try {
jepane.setPage(e.getURL());
}catch (IOException ex) {
jepane.setText("ERROR: "+ex.getMessage());
}
}
}
});
JWebBrowser
JWebBrowser — это библиотека, которая позволяет легко интегрироваться в компоненты приложения Swing для создания веб-браузера, импортирующего Internet Explorer или Mozilla на Windows и Mozilla на других операционных системах. Вам необходимо установить последнюю версию Internet Explorer, чтобы избежать задержек компонентов и таблиц стилей CSS.Разработка JWebBrowser основана на следующих фреймворках и реализация SWT, предоставляющая богатые компоненты. JWebBrowser предлагает полнофункциональный браузер, содержащий Flash-плеер, медиаплеер и HTML-редактор.
Вот ссылка на скачать библиотеку JWebBrowser. Вы также можете скачать и протестировать приложение онлайн. ici.
Использование JWebBrowser очень просто, как показано в следующем коде:
import java.awt.BorderLayout;
импорт javax.swing.JComponent;
импорт javax.swing.JFrame;
импорт javax.swing.JPanel;
импорт javax.swing.SwingUtilities;
импорт chrriis.common.UIUtils;
импорт chrriis.dj.nativeswing.swtimpl.NativeInterface;
импорт 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);
возвращаем 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();
}
}
JxBrowser
JxBrowser является наиболее полным API, поскольку он интегрирует браузер Chromium который является расширением Chrome для Linux. JxBrowser сделан с помощью Swing и JavaFX, что позволяет отображать веб-страницы, разработанные на HTML5/CSS3, JavaScript, Siverlight... отлично и без проблем.JxBrowser API платный и очень дорогой, рекомендуется только в том случае, если он вам действительно нужен и в крупных компаниях. Предлагается пробная версия на один месяц, просто введите свое имя и адрес электронной почты внизу страницы, чтобы получить лицензионный ключ.
вот ссылка на JxBrowser download с их официального сайта. Вы также можете запустить demo и протестируйте application.
В следующем коде показано использование 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 = new BrowserView(браузер);
кадр JFrame = новый JFrame();
frame.add(view, BorderLayout.CENTER);
frame.setSize(700, 500);
frame.setVisible(true);
browser.loadURL("http://www.youtube.com");
}
}
References:
как использовать панели редактора и панели текста
JWebBrowser Class (DJ Native Swing - SWT) - Диджейский проект
Class JWebBrowser