Java에서 웹 브라우저 만들기

Java에는 웹 페이지를 표시할 수 있는 여러 라이브러리가 있지만 대부분은 몇 년 전에 중단되었습니다. 이 기사에서는 브라우저를 만들고 웹 사이트의 콘텐츠를 표시하는 방법을 살펴 봅니다.

다음 세 가지 방법으로 웹 페이지를 표시할 수 있습니다.
  • JEditorPane: JRE에 포함되어 있지만 간단한 HTML 페이지만 표시합니다.
  • JWebBrowser: Internet Explorer 브라우저를 통합합니다.
  • JxBrowser: Chromium 브라우저를 통합하며, HTML5/CSS3로 디자인된 최신 웹 페이지를 표시할 수 있기 때문에 가장 효율적인 방법입니다. 자바스크립트, 시버라이트... 유일한 단점은 유료라는 것입니다.

JEditorPane 클래스

JEditorPane을 사용하면 HTML 콘텐츠만 표시할 수 있으며, JEditorPane은 HTML 파일을 열고 표시를 제어하려는 경우에 유용합니다.

다음 예제는 CSS가 없는 간단한 HTML 웹 페이지를 보여줍니다.

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(거짓);
jep.setBackground(Color.WHITE);

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

HTMLEditorKit 키트 = new HTMLEditorKit();

jep.setEditorKit(키트);

{
jep.setPage(새 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();
}
}
출력:

JEditorPane - Java에서 웹 페이지 보기

결과 디스플레이는 정적이며 보기 외에는 아무 것도 할 수 없습니다. 리스너를 하이퍼링크와 연결하여 하이퍼링크를 클릭할 수 있도록 하려고 합니다.

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을 사용하면 정보를 얻거나 웹 페이지를 편집할 수도 있습니다.

JWebBrowser

JWebBrowser는 Swing 응용 프로그램의 구성 요소에 쉽게 통합하여 Windows에서는 Internet Explorer 또는 Mozilla를, 다른 운영 체제에서는 Mozilla를 가져오는 웹 브라우저를 만들 수 있는 라이브러리입니다. 구성 요소 지연 및 CSS 스타일시트를 방지하려면 최신 버전의 Internet Explorer가 설치되어 있어야 합니다.

JWebBrowser의 개발은 다음 프레임워크와   다양한 구성 요소를 제공하는 SWT를 구현합니다. JWebBrowser는 플래시 플레이어, 미디어 플레이어 및 HTML 편집기가 포함 된 풍부한 브라우저를 제공합니다 .

다음은 JWebBrowser 라이브러리 다운로드에 대한 링크입니다. 온라인으로 응용 프로그램을 다운로드하여 테스트할 수도 있습니다. ici.

JWebBrowser의 사용은 다음 코드와 같이 매우 간단합니다.

 가져오기 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(웹 브라우저);
반환 contentPane;
}

public static void main(String[] args) {
NativeInterface.open();
UIUtils.setPreferredLookAndFeel();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame 프레임 = 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 - 자바 웹 브라우저

JxBrowser

JxBrowser는 Linux용 Chrome의 확장 프로그램인 브라우저Chromium를 통합하기 때문에 가장 완벽한 API입니다. JxBrowser는 HTML5/CSS3, JavaScript, Siverlight... 훌륭하고 문제없이 훌륭합니다.

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) {
브라우저 브라우저 = 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 웹 브라우저

참조:
편집기 창 및 텍스트 창을 사용하는 방법
JWebBrowser 클래스 (DJ Native Swing - SWT) - DJ 프로젝트
Class JWebBrowser