快速业务通道

使用JRuby和Swing进行跨平台开发 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
文件来准备和运行代码。

这 2 个文件都在 src/ 目录中。manifest.rb 文件设置库装载路径,并允许根据程序是直接从文件系统运行还是从一个 JAR 文件运行来定义包括哪些文件。

之前,您已将 redcloth.rb 添加到 lib/ruby/ 中。为了让应用程序能找到这个文件,需要将那个目录添加到装载路径中。对于 lib/java/ 目录也是如此。所以,应确保 manifest.rb 包括以下几行:

add_to_load_path "../lib/java" add_to_load_path "../lib/ruby"

main.rb 也是在 src/ 中。这是应用程序的 Ruby 入口点。除了其他事情外,它定义一个全局错误处理程序,在此将放置在执行主应用程序逻辑之前要运行的特定于平台的代码。

示例程序使用一个简单的循环:

begin
  flash_card = FlashController.instance
  flash_card.init_view :flash_interval_seconds => 8,
                       :show_for_seconds => 20,
                       :window_height => 200,
                       :data_src => ''data/cards.rc''
  while true do
    flash_card.present
  end
rescue => e
  show_error_dialog_and_exit(e)
end

使用JRuby和Swing进行跨平台开发(12)

时间:2011-11-29 IBM developerworks James Britt

执行代码

关于生成的 JAR 文件的一些说明

rawr:jar 创建的 JAR 文件并不包含执行程序所需的所有东西。特别是,任何包含程序所需的库的 JAR(例如 jruby-complete.jar 和 monkeybars-0.6.4.jar)都没有放在 monkey_see.jar 中。

当 rawr:jar 运行时,它在 package/deploy/ 下创建一组文件。这些是执行应用程序所需的文件,它们必须在一起发布。通过 build_configuration.yaml 文件可以操控将哪些文件放入到 JAR 中,以及将哪些文件和目录复制到部署目录中。例如,data/cards.rc 文件可以放到 monkey_see.jar 中,但是由于这个应用程序允许编辑,所以它应该作为一个外部文件,以便写回更改。

.有了代码以及合适的数据文件后,就可以运行程序。使用一个 rawr rake 任务创建一个可执行的 JAR 文件。如果在项目的一开始运行了 rawr install,那么它会在 src/org/rubyforge/rawr/ 下创建一个 Main.java 文件。从 JAR 运行程序需要一个 Main Java 类;rawr 可以生成这个文件,它包含查找和解释 main.rb 文件的基本代码(或者,如果没有找到该文件,它将创建一个这样的文件,并使用该文件)。

rake rawr:jar 任务编译该代码,并将文件打包到一个 JAR 中。build_configuration.yaml 文件用于协调此过程。在创建 JAR 之前,要先编辑这个文件,以反映应用程序的细节。

要启动程序,首先构建 JAR 文件:

$ rake rawr:jar

然后调用它:

$ java -jar package/deploy/monkey_see.jar

应该可以看到 flash-card 屏幕从右上角滚下,停留一会儿,然后又向上滚回。

当窗口可见时,可以使用菜单项编辑当前显示的卡片。如果要退出,可以使用 Quit 菜单项(如果添加了快捷键 Alt+Q 的话,也可以使用该快捷键)。

结束语

作为 Ruby 的传统 C 实现的健壮的、可用的替代品,JRuby 意味着 Ruby GUI 工具包可以超越其他使用 C 实现的工具包,而使用为 Java 平台提供的 UI 工具。由于 Swing 是 Java 运行时安装的一个标准部分,Swing 组件为 (J)Ruby 提供了一个成熟的、可立即使用的图形工具包。使用 Java 平台意味着应用程序很容易在多个平台上构建、打包和发布给用户。通过使用 Monkeybars 库,Ruby 开发人员可以更轻松地构建易于测试和维护的复杂的桌面应用程序。

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号