`
happmaoo
  • 浏览: 4507819 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用JDIC与本机桌面程序交互

阅读更多
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>

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进行各种各样的操作,实现各种功能。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1758435


分享到:
评论

相关推荐

    JDIC应用

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

    jdic 桌面浏览

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

    jdic.jar.zip

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

    jdic for windows

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

    jdic 32bit all

    使用JDIC的主要场景可能包括开发跨平台的Java桌面应用,特别是需要与Windows系统深度集成的场景,例如实现文件拖放、系统剪贴板交互、系统托盘功能等。开发者可以通过引入JDIC库,减少与操作系统交互时的复杂性,...

    jdic的插件

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

    jdic的实例的源码

    4. **其他功能**:JDIC还包含了对系统剪贴板的支持、屏幕截图工具、以及对本机字体和颜色设置的访问,使得Java应用能更好地适应用户的系统配置。 **环境配置** 描述中提到的“在各个环境下的配置”,意味着JDIC库...

    jdic 全套测试可用

    Java Desktop Integration Components(JDIC)是一套用于Java应用程序与操作系统集成的库,它为开发者提供了在Java应用程序中实现各种桌面功能的能力。JDIC是Sun Microsystems(后来被Oracle收购)开发的开源项目,...

    jdic的jar包及dll

    3. **丰富的功能**:通过JDIC,开发者可以轻松实现系统托盘、桌面图标、桌面壁纸切换、系统剪贴板交互等多种功能,增强了Java应用程序的用户体验。 在实际开发中,要使用JDIC,首先需要将jdic.jar添加到项目的类...

    java开发浏览器的jdic安装包

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

    jdic-0.9.4-bin-windows.zip

    JDIC,全称Java Desktop Integration Components,是一个开源的Java库,它为Java应用程序提供了与操作系统桌面环境更深度的集成。这个“jdic-0.9.4-bin-windows.zip”压缩包包含了专为Windows系统设计的JDIC库的二...

    JDIC(JDesktop Integration Components).jar

    JDIC的主要目标是解决Java应用程序在不同操作系统上桌面集成的挑战,比如通知区域图标、系统托盘、桌面小部件、桌面主题以及与其他桌面应用的交互等。 JDIC的核心特性包括: 1. **系统托盘(System Tray)支持**:...

    jdic-0.9.5-bin-cross-platform

    2. **浏览器兼容性**:jdic可以模拟Firefox和Internet Explorer的行为,使得用户在Java应用中浏览网页时能获得与使用原生浏览器相似的体验。 3. **API丰富**:jdic提供了丰富的API接口,包括网页加载、前进、后退、...

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

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

    JDIC.rar_JDIC

    JDIC是Java开发者在Windows平台上实现本地化功能的得力工具,例如创建系统托盘图标、使用Aero效果、通知区域提示、以及与系统剪贴板交互等。 JDIC库的核心功能包括: 1. **系统托盘图标(System Tray)**:允许...

    jdic-0.9.5

    JDIC是Sun Microsystems(现在被Oracle Corporation收购)开发的一个开源Java库,它提供了在Java应用程序中与桌面环境进行交互的功能。这个包包含了浏览器演示(demo)和运行所需的环境,意味着它不仅提供了JDIC库,...

    jdic.rar_jdic.dll 64

    JDIC是Sun Microsystems(现为Oracle公司的一部分)开发的一个开源Java库,它扩展了Java标准版(Java SE)的功能,使得Java应用程序能够更好地利用和交互于Windows桌面环境。这个64位版本的“jdic.dll”是为了在64位...

    jdic.rar_GUI编程_JDIC_JDIC java_java gui

    例如,使用JDIC的SystemTray API,开发者可以创建系统托盘图标,使得应用程序即使在最小化状态下也能接收和处理用户交互。此外,JDIC还支持AwtFrame的KDE和Gnome主题,让Java应用在Linux环境下拥有更佳的视觉效果。 ...

Global site tag (gtag.js) - Google Analytics