`
wankunde
  • 浏览: 162344 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

使用JDIC与本机桌面程序交互 - Haohappy的专栏--PHP5研究中心 - CSDNBlog(转载)

阅读更多



 

Java在WEB上大放异彩,但在桌面程序开发上可以说逊色太多了。Swing默认的样式难看,速度又慢,而且为了兼容各操作系统,Java很难保证方便地与一些系统专有的程序进行交互,比如Windows中的IE等,而.NET Framework则有很方便的工具可供使用。

对本机程序进行封装,这也是现在软件开发的一大思路,比如傲游(Maxthon)浏览器(原名MyIE2),就是基于IE进行开发的,加了很多功能,现在非常流行。

可以想像,如果用Java实现一个Maxthon,难度是相当大的。

但JDIC 的出现,使Java与本机桌面程序交互变得容易了不少。JDesktop Integration Components (JDIC)的目的是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC 目前提供了本机 Web 浏览器(Internet Explorer 或 Mozilla) 支持、系统托盘支持、文件扩展集成和其他桌面特性。相信JDIC将来在Java桌面开发上会越来越受欢迎。

https://jdic.dev.java.net/
http://www.ibm.com/developerworks/cn/java/j-jdic/
http://community.java.net/javadesktop/

下面以一个基于IE浏览器的小程序来介绍一下JDIC的使用。

程序的需求: 复制一段文字内容到IE浏览器打的网页中的某些表单,即实现自动填写表单的功能。比如我们登录phpeye.com,自动填写用户登录表单。

这个功能也是现在很多浏览器本身就支持的,比如Firefox,就会记录,然后自动完成。当然我们使用程序控制更为强大,易于扩展。这是个简单的功能,但对于某些行业,经常需要在网页上填写大量表单,就非常有用,可以节省大量时间,特别是如果填写的数据也用程序来读取的话:)

解决思路:使用程序打开一个IE窗口,并在窗口中执行一段JavaScript代码,设置表单的值。

使用JDIC,即其中的org.jdesktop.jdic.browser这个package,使用executeScript()方法即可以在当前窗口打开的HTML中执行JavaScript。这里基于jdic.browser的Demo做些简单的改写,就可以满足我们的需求。

首先在浏览器上增加一个“自动完成”按钮,并给该按钮加上事件处理函数。

import org.jdesktop.jdic.browser.*;

webBrowser = new WebBrowser(new URL("http://www.phpeye.com"));

 JButton jCompleteButton = new JButton("自动填写",
            new ImageIcon(getClass().getResource("images/AC.png")));

jCompleteButton.addActionListener(new Browser_jCompleteButton_actionAdapter(this));       

class Browser_jCompleteButton_actionAdapter implements java.awt.event.ActionListener {
    Browser adaptee;

    Browser_jCompleteButton_actionAdapter(Browser adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jCompleteButton_actionPerformed(e);
    }
}

  void jCompleteButton_actionPerformed(ActionEvent e) {
          webBrowser.executeScript("document.getElementById('uname').value='haohappy';document.getElementById('pwd').value='123456';");
    }

上面红色那行就是利用JS来设置表单的内容。

最后结果:

 

 

可以在当前页面中执行JavaScript,我们就可以对HTML进行各种各样的操作,实现各种功能。

 

  • 大小: 84.8 KB
分享到:
评论

相关推荐

    jdic-0.9.5-bin-cross-platform

    在实际开发中,使用jdic-0.9.5-bin-cross-platform压缩包,开发者首先需要解压文件,然后将对应的库文件添加到项目的类路径中。在Java代码中,通过导入相关库并调用jdic提供的API,即可实现内嵌浏览器的功能。例如,...

    jdic-0.9-bin-cross-platform.zip

    这个库是Java开发者的一个强大工具,尤其对于处理与桌面集成相关的任务,如拖放操作、系统Tray图标、以及与本地系统资源的交互等。 首先,"jdic"这个名字源于“Java Desktop Integration Components”的缩写,它是...

    jdic-0.9.1-bin-cross-platform.zip

    3. **桌面集成**:支持打开、打印文件以及与操作系统的文件对话框进行交互,使得Java应用能够更好地融入本地桌面环境。 4. **系统通知**:模仿各平台的原生通知系统,为用户提供及时的信息反馈。 5. **系统外观...

    jdic-20061102-bin-crossplatform

    JDIC的主要目标是提供一种方式,使Java应用程序能够更好地集成到桌面环境中,特别是与本地操作系统进行交互,如Windows、Mac OS X和Linux。 JDIC库包含了多个组件,使得Java应用可以实现以下功能: 1. **多平台...

    jdic的插件

    SWT是一个用于构建Java GUI的库,与Java Swing类似,但提供了更接近本机平台的外观和行为。 2. **DJNativeSwing-SWT.jar** - 这个JAR文件可能包含了JDIC与SWT整合的实现,允许开发者在使用SWT时也能利用JDIC的功能。...

    jdic-0.9.4-bin-windows.zip

    为了使用这个压缩包,首先需要解压“jdic-0.9.4-bin-windows”。解压后,开发者可以找到包含JDIC库的jar文件,将其添加到Java项目的类路径中。同时,JDIC通常需要Java 1.4或更高版本的支持,因此请确保开发环境满足...

    jdic包(jdic-20061102-bin-win.)

    这个包的版本为“jdic-20061102”,表明它是在2006年11月2日发布的。"bin-win"部分表示这是一个专为Windows操作系统编译的二进制版本,意味着它包含有可以在Windows环境下运行的可执行文件和相关库。 在描述中提到...

    jdic-0.9.3-bin-windows.zip_JDIC_jdic bin-windows.zip

    安装和使用JDIC-0.9.3-bin-windows版本,首先需要解压zip文件,然后将包含的jar文件添加到项目的类路径中。在代码中,可以通过导入相关的JDIC包来调用其提供的API,实现上述功能。 需要注意的是,虽然JDIC在Windows...

    jdic for windows

    它为开发者提供了与本机操作系统更紧密交互的功能,使得Java应用可以更好地模拟和利用Windows系统的特性。 **1. 本机Web浏览器支持** JDIC提供了对本机Web浏览器的支持,这意味着开发者可以通过Java代码调用并控制...

    JDIC应用

    1. **本地Web浏览器支持**:JDIC提供了与Internet Explorer或Mozilla等本机Web浏览器交互的能力,使Java应用程序可以内嵌一个与系统默认浏览器一致的Web视图。 2. **系统托盘支持**:通过JDIC,Java应用程序可以...

    jdic-all.jar

    java webbrower,JDIC开发用到的jdic-all.jar。JDIC 全程是 JDesktop Integration Components 目的是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,...

    java开发浏览器的jdic安装包

    Java开发浏览器时,JDIC(Java Desktop Integration Components)是一个非常重要的工具包,它为Java应用程序提供了与本地桌面环境集成的能力,特别是与Web浏览器交互的功能。本文将深入介绍JDIC的相关知识点,帮助...

    jdic_JDIC_

    5. **多窗口管理**:JDIC支持对窗口进行拖放、最大化、最小化等操作,使得Java GUI应用程序能更好地融入Windows桌面环境。 为了在32位Windows系统中使用"jdic.dll",开发者需要注意以下几点: - **依赖库的配置**...

    jdic 桌面浏览

    例如,通过JDIC,你可以创建一个系统托盘图标,这样即使程序窗口被最小化,用户仍然可以通过托盘图标与程序交互。此外,JDIC还支持弹出Windows气泡通知,使得应用能够向用户显示即时消息。 5. **跨平台兼容性**: ...

    jdic-0.9.5

    "jdic-0.9.5" 是一个与Java Desktop Integration Components(JDIC)相关的软件包,版本为0.9.5。JDIC是Sun Microsystems(现在被Oracle Corporation收购)开发的一个开源Java库,它提供了在Java应用程序中与桌面...

    jdic相关jar包及安装环境windows下

    JDIC,全称为Java Desktop Integration Components,是一个开源的Java库,旨在提供与操作系统桌面环境更紧密的集成。这个库特别适用于Windows系统,它允许Java应用程序利用一些Windows特有的功能,比如拖放操作、...

    jdic.jar.zip

    1. **本机Web浏览器支持**:JDIC允许Java应用程序嵌入和控制本地的Web浏览器,如Internet Explorer或Mozilla。这使得开发者可以构建混合型的应用程序,将网页内容与Java功能相结合,例如创建一个带有内嵌网页的桌面...

    jdic的实例的源码

    在Java应用程序中,JDIC允许开发者更容易地与操作系统进行交互,提高用户体验。 **源码分析** 标题中的“jdic的实例的源码”表明我们有机会深入理解JDIC库的工作原理。源码是学习任何软件或库的最佳途径,通过阅读...

    JDIC源码及Demo

    JDIC,全称为Java Desktop Integration Components,是一个开源的Java库,专门用于增强Java应用程序与桌面环境的集成。它提供了一系列API,使得Java开发者能够轻松地实现诸如系统托盘、桌面通知、窗口管理、桌面主题...

    jdic工具包jar

    JDIC(Java Desktop Integration Components)是一个开源项目,旨在提供一系列用于增强Java应用程序与桌面环境集成的组件。这个工具包主要针对Windows、Linux和Mac OS X等操作系统,使得Java开发者能够更好地利用...

Global site tag (gtag.js) - Google Analytics