Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > » 正文

[转载]Jigloo 开发 SWT 的入门教程(修改版本)(2)

来源: 未知 分享至:

这时候可以点击工具栏按钮 (2) 或者 (3) 预览设计成的界面. Jigloo 已经帮你写好了大部分的代码, 因此无需担心界面无法显示.

3. 加入事件响应代码

首先点击一下界面上的 "OK" 按钮, 然后选择(11)中的 Event 面板, 然后展开SelectionListener , 单击 widgetSelected 节点右侧的not handled 下拉框,

然后选择 handler method, 这样将会生成一个点击 OK 后触发的事件调用方法, 如下图所示:
\"clip_image019\"

接着编辑器中的鼠标将会定位到刚才生成的事件方法中, 默认生成的代码如下所示:

private void button1WidgetSelected(SelectionEvent evt) {
System.out.println("button1.widgetSelected, event=" + evt);
//TODO add your code for button1.widgetSelected
}

我们在 TODO 后面加入下列代码即可完成我们所需要的功能了:

text2.setText(Converter.doConvert(text1.getText()));

这段代码将会设置文本框2中的文本内容为先前编写的转换代码所处理过的内容, 输入的内容是 text1 中显示的文本. 相当于调用如下一段代码:

String input = text1.getText();
String output = Converter.doConvert(input);
text2.setText(output);

setText(String) 和 getText() 方法分别对组件显示的文本内容进行读写操作.

4. 测试

点击 (3) 按钮,运行, 修改 text1 中的值, 然后点击 OK 按钮, 可以看到运行结果正常. 如下图所示:
\"clip_image020\"

. 打包发布应用

1. 目录布局以及复制依赖文件

我们这个项目仅仅依赖 swt.jar, 首先在 MyProject 下新建一个文件夹 lib, 然后从项目 org.eclipse.swt 下将swt.jar复制到当前项目的 lib 下, 即可, 最后的文件目录结构如下示:

MyProject
├─classes
├─lib
└─src

2. 编写启动脚本

在根目录下编写 运行.bat, 内容如下所示:

java -cp classes;libswt.jar NewComposite

双击运行此批处理文件可以看到主窗口.

3. pack200 打包发布(可以大大减小个头)

如果使用的是 JDK 1.5, 可以用 pack200 来减小 swt.jar 的大小, 注意用户下载后必须先解压才能运行程序.pack200用法以及批处理文件语法请自行查找相关资料.

压缩所用的两个批处理文件如下:

压缩.bat 发布的时候运行一次

pack200 libswt.jar.gz libswt.jar

del libswt.jar

解压缩.bat 用户下载后需要运行一次

unpack200 libswt.jar.gz libswt.jar

del libswt.jar.gz

. FAQ

一些常见小问题.

Q: 我编辑下面的代码后发现 GUI Properties 面板和组件层次大纲消失了?

A: 点击一下界面设计器中的按钮后 GUI Properties 面板将会再次出现.

Q: 我想给窗口设置一个标题, 并且给两个文本框设置默认的值为空, 怎么办?

A: 修改 Properties 属性中的 text 即可, 文本框的可以先在界面设计器中选中组件, 然后在GUI属性页修改即可. 主窗口的稍微复杂一点, 如下图所示需要先选中 Shell, 然后再修改:
\"clip_image021\"

Q: 我想使用多行文本编辑器(TextArea), 而文中的例子是单行文本框, 怎么办?

A: 将这段操作改为 " 接下来在(9)中选择面板 Controls, 然后点击两次 TextArea 控件, 放到设计面板上, 拖拉使其不要重叠并放置在合适的位置上, 这两个组件按照默认值即可,

分别为 text1, text2. 如果发现放 Text2 的时候无法添加上去, 请把它放到 Outline 中的 (7) 的 this - Composite, Grid 即可", 而不是使用原来的 Text 控件.

Q: 发现关闭 Eclipse 再打开刚才设计的代码的时候没有出现 Jigloo 界面设计器, 我如何才能打开它进行编辑?

A: 有时候 Eclipse 不能记住上次打开某文件的时候所用的编辑器, 因此首先确保这个类没有被 Eclipse 的其它编辑器打开,

然后右键点击文件选择 "Open with->Form Editor". 如下图所示:
\"clip_image023\"

 

使用Jigloo来进行 Swing 开发的方法和上面基本上是一样的

我的小项目运行的结果如下图所示:左边的是Swing,右边的是SWT

\"2\"          \"3\"


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史