快速业务通道

设计具有本机性能的跨平台Java UI:使用JNI来访问SLIK皮肤接口 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
e src distribution of this article // slider test: maps to [slider_volume] in skindata volume = new WSlider("volume"); volume.addSliderListener(this); skin.registerWidget(volume); // popup menu sample String [] menus = { // menu #1 "Menu 1" + WMenu.SUBMENU_DIVIDER + "Submenu-11" + WMenu.SUBMENU_DIVIDER + "Submenu-12", // menu #2 "Menu2" + WMenu.SUBMENU_DIVIDER + "Submenu21" + WMenu.SUBMENU_DIVIDER + WMenu.MENU_DIVIDER + WMenu.SUBMENU_DIVIDER + "SubM31" , WMenu.MENU_DIVIDER, "Menu3", "Menu4" }; popup = new WMenu("popup", menus, skinHandle); popup.addMenuListener(this); skin.registerWidget(popup, menus); ...

拨号盘小部件(广播调谐器 / 播放器的典型组件)应该具有一个类似如下的 声明:

WDial position = new WDial("position")

这里, position 是皮肤数据文件( skindata)中定义的一个键,该文件包含诸如几何形状、图 像等属性。之后, position.addDialListener(this)调用将设置主类来监听由 这个小部件激发的事件。 最后, skin.registerWidget(position)将从 C 层级 联调用 Java 层,然后返回。相同的方法序列也适用于所有 JSLIK 小部件。

设计具有本机性能的跨平台Java UI:使用JNI来访问SLIK皮肤接口(6)

时间:2011-09-07 ibm Vladimir Silva

探索源代码

本文已经提供了关于 SLIK 和 Java 平台在实践中如何协同工作的介绍。为 了真正理解它究竟是如何工作的,您需要运行并研究源代码。随本文分发的代码 包包含以下文件夹结构:

Slik_jni 文件夹结构

文件夹名称 文件类型
classes 已编译的 Java 类
myskins 示例皮肤
native Java JNI SLIK 库 Win32/Linux
src Java/C 源代码

还有两个提供用于测试目的的 shell 脚本:rundemo.bat 和 rundemo.sh。 双击针对您的平台的相应脚本将会运行演示程序,并加载默认的皮肤,如图 5 所示。

图 5. PDA 演示皮肤

演示皮肤 PDA

按 Play 按钮将打开皮肤编辑器,您可以使用它来浏览或修改构成此皮肤的 不同小部件。按 Back 按钮将启动打开文件对话框,您可以使用它来加载所提供 的许多示例皮肤。

可以容易地使用自己最喜欢的 IDE 来编译该 Java 源代码。代码包中还提供 了二进制版本,不过如果想要自己编译 C 代码,相应的编译说明已包括在这个 项目的 README 文件中。本文中的代码已在以下平台上测试过:

Microsoft Windows 2000 和 XP。

Red Hat Linux 8.x 和 9,以及 SuSE Linux Workstation 8.x,两者都是基 于 x86 的体系结构。

结束语

要成为桌面市场的重要竞争者,Java 开发人员被迫依赖 Java 本机接口 (Java Native Interface,JNI)来提供特定平台的用户所预期的外观和感觉以 及性能水平。

随着 Linux 在桌面操作系统市场的增长,高级用户界面将成为开发人员追求 的主要目标。如果 Linux 要与 Windows 竞争,它需要具有易用性和出色的图形 和视觉效果。GIMP 工具包为这种转变奠定了基石。

如今的 API,比如 WinAmp 和 Xine,都是平台相关的。SLIK 走出了实现统 一的第一步。而且由于 JNI 可用于访问 SLIK API,因此 SLIK 代表了可同时供 两个阵营使用的潜在工具。Java 开发人员可以编写具有本机 GUI 性能水平的桌 面应用程序,而 Linux 开发

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号