扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Jdesktop集成组件(JDesktop Integration Components,JDIC)弥合了Java开发独立于平台的世界与用户桌面的真实世界之间存在的鸿沟。现在就让我们来看看能够如何给予在任何平台上使用你的应用程序的用户更好的体验。
当桌面Java开发人员试图调用本机桌面(应用程序),比如浏览器或者邮件应用程序碰壁的时候,JDIC是解决问题的方法。原有的简单解决方案并不能完全解决你的问题;Java虚拟机会与本机环境发生冲突。以往跨越这堵围墙的方法当然还有;现有的各种库都可以用来打破这堵围墙,有的用纯Java写成,能够检测底层的操作系统,其他的则使用连接JNI的本机库。纯Java的方案对于开始编写应用程序的作用往往十分有限,不同的平台之间可能还不稳定。而基于JNI的方案用起来倒是很好,但是往往只能用在一个平台上,缺乏多个平台所需要的库,或者没有突出的适用于跨平台的方案。
JDIC解决了这一问题,它定义了一个用于多种桌面资源的抽象,继而由这个抽象驱动实现了所需要的JNI库。这其中最简单的是Desktop(org.jdesktop.jdic.desktop)包,它是用于调用桌面应用程序的JDIC核心库。这个包里只有两个类——Desktop和Message,我们所关心的方法在Desktop里都是静态方法。它们使用起来有多简单呢?下面都是从DemoDesktop示例里摘下来的一个代码段:
import org.jdesktop.desktop.Desktop;
import org.jdesktop.desktop.DesktopException;
…
private void openBrowserButtonActionPerformed(java.awt.event.ActionEvent evt) {
URL url=null;
try {
url=new URL(urlTextField.getText());
try {
Desktop.browse(url);
} catch (DesktopException ex) {
showError("DesktopException");
ex.printStackTrace();
}
} catch (MalformedURLException ex) { showError("Malformed URL"); }
}
我们利用来自Swing组件urlTextField的值取得了一个URL实例,然后用这个URL调用Desktop.browse()。这段代码的大部分事实上都是关于捕捉异常的,例如通过创建URL得到的MalformedURLException,在启动进程的时候出现问题而导致的DesktopException等。在我们的代码中ShowError是一个简单的helper方法,专门用来弹出对话框;它要比在整个代码中使用JOptionPane.showMessageDialog()干净得多。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者