科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件如何利用JDIC与桌面交互操作

如何利用JDIC与桌面交互操作

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Jdesktop集成组件(JDesktop Integration Components,JDIC)弥合了Java开发独立于平台的世界与用户桌面的真实世界之间存在的鸿沟。

作者:builder.com.cn 2007年1月15日

关键字: java JDIC

  • 评论
  • 分享微博
  • 分享邮件

用JDIC开始发送电子邮件会启动桌面默认的电子邮件程序,而不会直接用SMTP发送邮件;通过调用Desktop.mail(),JDIC会启动桌面邮件客户程序的邮件编写窗口,而不会预先载入任何东西。要预先载入邮件编写窗口,我们需要使用Message类。它会被用作编写窗口的模板,你只需要往里面填入你知道的内容就可以了。下面就是来自DemoDesktop的相关代码:

private void composeMailButtonActionPerformed(java.awt.event.ActionEvent evt) {
	Message message=new Message();
	ArrayList toAddresses=new ArrayList();
	toAddresses.add(mailAddressTextField.getText());
	message.setToAddrs(toAddresses);
	message.setSubject("DemoDesktop Mail Examples");
	message.setBody("This is a DemoDesktop Mail example");
	try {
		Desktop.mail(message);
	} catch (DesktopException ex) {
		showError("Desktop Exception");
		ex.printStackTrace();
	}

在这里,我们创建了一个Message,创建了一个发送到(To)地址列表,并把它设置到Message,还设置了标题文本和正文文本,并用Message调用了Desktop.mail。这个地方有一点点小问题,就是你必须为每个地址都创建列表,因为Message的地址属性只接受列表。

还有一些用来对文件进行操作的方法:open()、edit()和print(),其中后面两个方法与sEditable()与isPrintable()互为补充。这些调用允许你对文件调用相应的桌面操作,它们的参数是File。很多桌面系统上几乎没有编辑操作,但是打开和打印这两个操作在各种桌面系统上一般都有。下面是DemoDesktop中与打印操作相关的代码;

 

private void printFileButtonActionPerformed(java.awt.event.ActionEvent evt) {
	String filename=editFileTextField.getText();
	File printfile=new File(filename);
	…
	if(!Desktop.isPrintable(printfile)) {
		showError("File is not printable");
		return;
	}
	try {
		Desktop.print(printfile);
	} catch (DesktopException ex) { … }
}


正如你看到的,JDIC的Desktop类相当简单。JDIC的Desktop类的功能太有用了,以至于它被作为AWT的一部分集成到了Java SE 6里,当然这其中还有一个棘手的问题;API已经在很多方面发生了变化。首先,Desktop类只有两个静态类:isDesktopSupported()用来检测桌面系统的支持状况,Desktop.getDesktop()用来取得将要使用的Desktop实例。

 
import java.awt.Desktop;
…

if(Desktop.isDesktopSupported()) {
	Desktop desktop=Desktop.getDesktop();


    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章