JDIC(JDesktop Integration Components)
资源大小: 1.31MB
资源类型:![]()
发布人: xrt89
发布日期: 3个月前
Tag:
java
资源分: 0
下载人数: 43
软件说明:
不用积分的,大家下载了都是为了学习嘛,呵呵,支持爱好学习的人!!!<br>****************************************************<br>JIDC提供了一种访问桌面组件的API其中JDK6.0就采纳了其中了一些,比如系统栏图标的SystemTray和SystemIcon,还有代表桌面的Desktop等等,可见这个API是挺不错的。由于网页浏览器的特殊性,标准的JDK并没有把它加入进来,但是我们一样可以下载它来使用这个功能。明显地,这个功能是用本地方法实现的,所以下载完以后,把jdic.dll放到我们的path目录中,比如system32文件夹下面,然后我们就可以使用它的功能从而增加我们的JAVA程序了。<br>例子代码如下:<br>/*<br>* Test1.java<br>*<br>* Created on 2007-10-2, 17:29:30<br>*<br>* To change this template, choose Tools | Templates<br>* and open the template in the editor.<br>*/<br><br>package test2;<br><br>import java.awt.BorderLayout;<br>import java.awt.event.ActionEvent;<br>import java.awt.event.ActionListener;<br>import java.net.MalformedURLException;<br>import java.net.URL;<br>import java.util.logging.Level;<br>import java.util.logging.Logger;<br>import javax.swing.JButton;<br>import javax.swing.JFrame;<br>import javax.swing.JPanel;<br>import javax.swing.JTextField;<br>import org.jdesktop.jdic.browser.IWebBrowser;<br>import org.jdesktop.jdic.browser.WebBrowser;<br>import org.jdesktop.jdic.browser.WebBrowserEvent;<br>import org.jdesktop.jdic.browser.WebBrowserListenerAdapter;<br><br>/**<br>*<br>* @author hadeslee<br>*/<br>public class Test1 extends JPanel implements ActionListener {<br><br> private JTextField input;<br> private JButton go;<br> private IWebBrowser web;<br><br> public Test1() {<br> super(new BorderLayout());<br> initWindow();<br> }<br><br> private void initWindow() {<br> try {<br> web = new WebBrowser();<br> web.addWebBrowserListener(new MyListener());<br> go = new JButton("转到");<br> input = new JTextField();<br> JPanel up = new JPanel(new BorderLayout());<br> up.add(input, BorderLayout.CENTER);<br> up.add(go, BorderLayout.EAST);<br> this.add(up, BorderLayout.NORTH);<br> this.add(web.asComponent(), BorderLayout.CENTER);<br> input.addActionListener(this);<br> go.addActionListener(this);<br> } catch (Exception ex) {<br> Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);<br> }<br> JFrame jf = new JFrame("JAVA浏览器");<br> jf.add(this, BorderLayout.CENTER);<br> jf.setSize(500, 300);<br> jf.setLocationRelativeTo(null);<br> jf.setVisible(true);<br> jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br> }<br><br> public void actionPerformed(ActionEvent ae) {<br> doOpen();<br> }<br><br> private void doOpen() {<br> try {<br> String text = input.getText();<br> if (text == null || text.equals("")) {<br> return;<br> }<br> if (!text.toLowerCase().startsWith("http://")) {<br> text = "http://" + text;<br> }<br> web.setURL(new URL(text));<br> } catch (MalformedURLException ex) {<br> Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);<br> }<br> }<br><br> public static void main(String[] args) {<br> new Test1();<br> }<br><br> private class MyListener extends WebBrowserListenerAdapter {<br><br> private MyListener() {}<br><br> @Override<br> public void documentCompleted(WebBrowserEvent arg0) {<br> System.out.println("文档下载完。。。");<br> web.executeScript("alert('文档下载完毕!')");<br> // web.setContent("<html><H1>Hello world!!<H1>" +<br> // "<a href=http://www.google.cn>点我</a></html>");<br> // web.removeWebBrowserListener(this);<br> }<br> }<br>}<br>它比一般的别的实现好的地方就是,它可以很完全地和JAVA代码进行交互,包括浏览器事件的监听,浏览器内容的获取,以及自己调用浏览器来执行一段javasript,这些都是很强大并且很实用的功能。<br>****************************************************<br>



共有评论条
{Text}