利用java实现浏览器功能

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用java实现浏览器功能

标签:浏览器javaimportwebbrowsertemplatescomponents 2007-10-09 09:37 1297人阅读评论(0) 收藏举报版权声明:本文为博主原创文章,未经博主允许不得转载。使用VC,VB或者C#的开发者们对于在程序里面嵌入一个网页来说,那真是小事一桩。但是在JAVA 里面,却几乎是不可能实现的任务。JEditorPane虽然说可以打开网页,但是它那解析速度以及解析质量,对于今天日益复杂的网页内容来说,就像没有一样。今天我们就使用一个开源的组件(jdic)来实现在JAVA程序里面嵌入网页的效率。

下面言归正转吧,我们来介绍一下这个开源的组件,它的名字叫JDIC(JDesktop Integration Components),网址为:https:///,它提供了一种访问桌面组件的API,其中JDK6.0就采纳了其中了一些,比如系统栏图标的SystemTray 和SystemIcon,还有代表桌面的Desktop等等,可见这个API是挺不错的。由于网页浏览器的特殊性,

标准的JDK并没有把它加入进来,但是我们一样可以下载它来使用这个功能。明显地,这个功能是用本地方法实现的,所以下载完以后,把jdic.dll放到我们的path目录中,比如system32文件夹下面,然后我们就可以使用它的功能从而增加我们的JAVA程序了。

上面的例子代码如下:

/*

* Test1.java

*

* Created on 2007-10-2, 17:29:30

*

* To change this template, choose Tools | Templates * and open the template in the editor.

*/

package test2;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import .MalformedURLException;

import .URL;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JTextField;

import org.jdesktop.jdic.browser.IWebBrowser;

import org.jdesktop.jdic.browser.WebBrowser; import org.jdesktop.jdic.browser.WebBrowserEvent;

import

org.jdesktop.jdic.browser.WebBrowserListenerAdapter;

/**

*

* @author hadeslee

*/

public class Test1 extends JPanel implements

ActionListener {

private JTextField input;

private JButton go;

private IWebBrowser web;

public Test1() {

super(new BorderLayout());

initWindow();

}

private void initWindow() {

try {

web = new WebBrowser();

web.addWebBrowserListener(new MyListener());

go = new JButton("转到");

input = new JTextField();

JPanel up = new JPanel(new BorderLayout());

up.add(input, BorderLayout.CENTER);

up.add(go, BorderLayout.EAST);

this.add(up, BorderLayout.NORTH);

this.add(web.asComponent(),

BorderLayout.CENTER);

input.addActionListener(this);

go.addActionListener(this);

} catch (Exception ex) {

Logger.getLogger(Test1.class.getName()).log(Level.SEVER

E, null, ex);

}

JFrame jf = new JFrame("JAVA浏览器");

jf.add(this, BorderLayout.CENTER);

jf.setSize(500, 300);

jf.setLocationRelativeTo(null);

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void actionPerformed(ActionEvent ae) {

doOpen();

}

private void doOpen() {

try {

String text = input.getText();

相关文档
最新文档