先前的FlowLayout的三个参数alignment horizontal gap和vertical gap变成了GridLayout的另外四种参数 columns horizontal gap rows vertical gap 为了方便设计 笔者在这个例子中将采用null 即不用任何LayoutManager来设计
界面 布局设置好后 就可以在JPanel上摆置各种Swing
组件了 按照我们最开始设计的草图 界面上要摆上四个Label From To Subject Message 以及四个文本组件 其第四个应该是TextArea 用于编辑多行文本 我们在工具面板上选好相关组件 然后在JPanel上拖选出一个矩形 组件即按相应大小和位置显示在此矩形区域 再在 属性 视图中编辑每个JLabel和JButton的 text 属性为相应的值 现在来看看下面笔者 画 出来的界面 看看 设计的如何?笔者不是画家 画 出来的界面显得有些凌乱 没关系 VE也提供一些工具按钮来让我们调整各个组件的位置 请点击VE工具栏上的 Show alignment window 按钮 显示如下图的视窗 通过此视窗 可以将所选组件向上下左右各个方向对齐 还可以使所选组件具有相同高度和宽度 来看看下图经过调整位置后的界面布局 现在看起来是不是美观多了? 添加事件处理 经过前面的步骤 VE的可视化设计的任务就基本上完成了 在我们设计的界面中 有 Send 和 Clear 按钮 我们再来看看VE是如何为它们添加事件处理的 在设计界面的 Send 按钮上点击鼠标右键 d出菜单 如下图 在 Event 菜单项中 可以看到一个 actionPerformed 事件 如果要添加其它类型的事件 可以点击 Add Events 选择其它类型的事件 我们点击 actionPerformed 事件后 在 Java Beans 视图的 jButton Send 组件下面 多了一个 actionPerformed 事件类型 如下图所示 在 Java Beans 视图中 选中 actionPerformed 事件 再VE的
窗口中 从 Design 切换到 Source 视图 在上图标记 的代码区域 就是我们刚刚添加的按钮事件 笔者在事件中调用了一个send方法 如图中标记 代码区域 具体的发送邮件的代码笔者在这里就不实现了 同样的方法 一样可以为另一个按钮 Clear 添加事件 在程序中使用自定义的组件 在前面我们设计好了自己的Java组件 现在我们来看看如何在自己的程序中――一个窗口中来调用这个组件 使用前面介绍的方法 在工具栏上点击 新建Java类 按钮 建立一个JFrame的Visual Class类 你也可以在通过菜单 文件 >新建 >Visual Class 来寻一个JFrame类 在这里 我们将这个类命名为 MyApp 当VE窗口出现时 可以看到一个空白的JFrame显示在设计视图中 此时 点击VE的工具面板上的 Choose Bean 按钮 然后在d出的对话框中输入我们设计的Java组件的类名 MessagePane 再点击 确定 这时 当我们的鼠标移到JFrame上时 JFrame会用绿色的线条切分成五份 如下图所示 educity cn/img_ / / / jpg>这是因为JFrame的预设LayoutManager是BorderLayout 在VE中 如果在工具面板上选好Java组件 当鼠标移到有特定LayoutManager的容器组件上时(在上图中容器组件是一个JFrame) VE会用适当的形式指示你当前鼠标悬停的位置 在上图在VE告诉我们现在处在BorderLayout的中心位置 此时再在该位置点击一次 我们选好的Java组件即安放到此位置 用VE设计好程序界面 就可以切换到 Source 视图进行具体的代码的编码了 在此我们就不累述了 定制VE的环境 之前的讲解 大家学到了如何用VE来进行可视化的Java界面设计 为了适应不同的开发者 VE也提供了一些选项来让开发者设计自己喜好的VE环境 请打开菜单 窗口 >首选项 >Java >Visual Editor 此时出现VE的各种首选项界面 由于笔者安装的eclipse中文语言包早于VE发布 所以此界面仍然是英文界面 在这里 VE的首选项分为三类 Appearance Code Generation Pattern Style 下面结合图形分别介绍 .外观(Appearance)设置 此面板中可以设置这此内容 ( ) 设置可视编辑器和源代码编辑器的布局 一种是上下分隔的布局 另一种是用页答进行切换的布局(即本文例图中所见到的样式) ( ) 设置是否显示 属性 视图和 Java Beans 视图 ( ) 设置设计时Swing的界面风格 .代码生成(Code Generation)设置此面板包括以下内容 ( ) 设置是否为新表达式生成注释和try{}…catch()块 ( ) 设置可视设计界面和代码编辑器之间的代码同步时间 .代码模板风格(Pattern Style)设置此面板包括以下内容 ( ) VE所用的存取Java Bean的代码风格 ( ) VE初始化时尝试使用的初始化方法 VE目前已提供了对Jbuilder NetBean等其它IDE产品可视编辑器生成的Java组件代码初始化方式的支持 总结 行文至此 我们从VE的安装到Java组件设计以及VE环境的设置 基本上已对eclipse的全新工具Visual Editor作了一个全面的了解 有了Visual Editor 我们所有的开发工作 从图形用户界面到业务逻辑 全部可以在eclipse平台上完成 lishixinzhi/Article/program/Java/ky/201311/28103
1. 为什么要使用SWT?
SWT是一个IBM开发的跨平台GUI开发工具包。至于为什么IBM要费劲自己另起炉灶开发一个GUI工具包,而不是使用Sun现有的由AWT, Swing, Java 2D, Java 3D等构成的Java GUI框架,那就说来话长了。(记得在一个BBS上读过一个关于SWT起源的调侃类的帖子)。
在SWT之前,Sun已经提供了一个跨平台GUI开发工具包AWT (Abstract Windowing Toolkit)。虽然AWT框架也使用的是原生窗口部件(native widgets),但是它一直未能突破LCD问题。LCD问题导致了一些主要平台特征的遗失。如果你不明白的话(其实我也没明白),换句话说,如果平台A有窗口部件(widgets)1–40,而平台B有窗口部件(widgets)20–25,那么跨平台的AWT框架只能提供这两个窗口部件集的交集。
为解决这个问题,Sun又创建了一个新的框架。这个框架不再使用原生窗口部件,而是使用仿真窗口部件(emulated widgets)。这个方法虽然解决了LCD问题,并且提供了丰富的窗口部件集,但是它也带来了新的问题。例如,Swing应用程序的界面外观不再和原生应用程序的外观相似。 虽然在JVM中这些Swing应用程序已经得到了程度的性能改善,但是它们还是存在着其原生对应物所不具有的性能问题。并且,Swing应用程序消耗太多的内存,这样Swing不适于一些小设备,如PDA和移动电话等。
IBM进行了尝试以彻底解决AWT和Swing框架带来的上述问题。最终,IBM创建了一个新的GUI库,这就是SWT。SWT框架通过JNI来访问原生窗口部件。如果在宿主(host)平台上无法找到一个窗口部件,SWT就会自动地模拟它。
2. SWT应用程序的组成
一个SWT应用程序的基本组成部分为显示界面(Display)、命令界面(Shell,使命令进入并使运行初始化)和窗口部件(Widgets)。Display负责管理事件循环和控制UI线程和其他线程之间的通讯。Shell是应用程序中被 *** 作系统窗口管理器管理的窗口。每个SWT应用程序至少需要一个Display和大于等于1个的Shell实例。
从不同的角度展示了SWT应用程序。展示了UI对象的容器结构(containment structure)。
如果一个应用程序使用了多个线程,那么每个线程都使用的是Display对象分配给它自己的实例。程序员可以使用静态方法Display.getCurent()来得到Display对象的当前活动的实例。
Shell用于在特定的 *** 作系统中表现窗口。Shell可以化、最小化或正常化。Shell有两种类型。第1种是高层shell,它是Display的子窗口,同时它也是一个主窗口。第2类是对话shell,这种shell要依赖于其他的shell窗口存在。shell窗口最终成为上述那种类型,要看在创建shell时传递给shell构造函数的是什么风格位(style bits)。一个shell的默认值是DialogShell。也就是说,如果不带参数,那默认就是一个对话shell。而如果给参数赋予了一个Display对象,则该shell将是一个高层shell。
一些窗口部件的属性必须在创建它们的初期就要被设置。这些窗口部件的属性就是前面所说的风格位(style bits)。在SWT的类中,风格位被定义为常数。例如,Button button = new Button( shell, )。可以使用或(OR) *** 作符“|”来设置多个风格位。例如,如果想设置一个带边界的压下按钮,需要传递SWT.PUSH | SWT.BORDER作为风格位参数。
准备工作:
1、下载JDK;
2、下载Eclipse;
3、下载相应的EMF、GEF、VE;
开始安装:
1、安装JDK;
这个比较容易,标准的Windows安装程序,下一步,再下一步即可,安装完成后,也不需要重启。
2、安装Eclipse;
Eclipse是绿色软件,不需要安装,只需要解压缩,然后即可运行。
为了说明方便,我把它解压缩到C盘根目录下,得到C:\eclipse目录,运行C:\eclipse\eclipse.exe即可。
注意:下面的安装,需要先关闭eclipse程序。
3、安装EMF、GEF、VE;
对于Eclipse来说,这些都是它的插件,所以,安装方法都是一样的。插件下载地址http://download.eclips.org/ve
A、在C:\eclipse目录下,建立四个子目录:C:\eclipse\emf、C:\eclipse\gef、C:\eclipse\ve、C:\eclipse\links;
B、把下载的EMF、GEF、VE都解压缩到相应的目录中,即:把EMF压缩包解压缩到C:\eclipse\emf中,得到C:\eclipse\emf\eclipse目录,以此类推,完成GEF、VE的解压缩;
C、在C:\eclipse\links目录下,新建一个文本文件,名字可随便取,如:link.txt。
然后在link.txt文件中,加入以下三行文字:
path=emf
path=gef
path=VE
评论列表(0条)