JDIC(JDesktop Integration Components)

时间:2011-07-07 11:57:56
【文件属性】:

文件名称:JDIC(JDesktop Integration Components)

文件大小:1.32MB

文件格式:RAR

更新时间:2011-07-07 11:57:56

java

不用积分的,大家下载了都是为了学习嘛,呵呵,支持爱好学习的人!!!
****************************************************
JIDC提供了一种访问桌面组件的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 java.net.MalformedURLException;
import java.net.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.SEVERE, 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();
   if (text == null || text.equals("")) {
    return;
   }
   if (!text.toLowerCase().startsWith("http://")) {
    text = "http://" + text;
   }
   web.setURL(new URL(text));
  } catch (MalformedURLException ex) {
   Logger.getLogger(Test1.class.getName()).log(Level.SEVERE, null, ex);
  }
 }

 public static void main(String[] args) {
  new Test1();
 }

 private class MyListener extends WebBrowserListenerAdapter {

  private MyListener() {}

  @Override
  public void documentCompleted(WebBrowserEvent arg0) {
   System.out.println("文档下载完。。。");
   web.executeScript("alert('文档下载完毕!')");
   // web.setContent("

Hello world!!

" +
   // "点我");
   // web.removeWebBrowserListener(this);
  }
 }
}
它比一般的别的实现好的地方就是,它可以很完全地和JAVA代码进行交互,包括浏览器事件的监听,浏览器内容的获取,以及自己调用浏览器来执行一段javasript,这些都是很强大并且很实用的功能。
****************************************************


【文件预览】:
jdic-0.9.3-bin-windows.zip
jdic-0.9.3-src.zip

网友评论

  • 可以用,不知有没有更新的版本。
  • 好的资料啊
  • 不错,挺好的
  • 很好,谢谢!
  • 好的资料啊
  • 好资料,谢谢分享!!正在学习中。。。
  • 资源是个好东西,但是64位的机子不能用!!
  • 好东西好东西好东西好东西好东西好东西好东西
  • 不支持64位,资源还是不错的
  • 自己是新手,所以还要研究下!!还不会用!!哈哈哈!!
  • 好东西,很全面!
  • 非常好,感谢奉献,用这个我很快实现了内嵌浏览器,哦,我的32位win10
  • 很好 帮助了蛮多
  • 很好很全面的资源,感谢楼主
  • 相当不错,很需要。
  • 不错的资源,不过jdic.jar中不包含BrowserEngineManager、IBrowserEngine、IWebBrowser这三个class文件 嗯 楼上说的对
  • 不是64用不了
  • 楼主是好人,无私分享出来,很有用
  • 还行,东西不错,还在研究中
  • 不错的资源
  • 多谢无私的贡献,貌似我64的win7,用不了。
  • 恩 ,很详细 ,很全面 ,可惜我的是64位的 ,用不了,怎么办?
  • 不支持64位的
  • 楼主不骗分,真好人
  • 楼主是好人,无私分享出来,很有用
  • 不错的资源,不过jdic.jar中不包含BrowserEngineManager、IBrowserEngine、IWebBrowser这三个class文件.
  • 很不错,谢谢分享
  • 好用的东西,有才
  • 对Java桌面开发很有用
  • 不错的资源,有例子,资料全