Eclipse下搭建SWT与Swing图形界面开发环境
来源:互联网 发布:mac u盘恢复工具 编辑:程序博客网 时间:2024/06/08 07:41
一、SWT与Swing介绍
SWT(StandardWidget Toolkit)则是由Eclipse项目组织开发的一套完整的图形界面开发包,虽然当初仅仅是IBM为了编写Eclipse的IDE环境才编写的一套底层图形界面 API,但是随着Eclipse的大范围使用,人们也开始对这套GUI开发包做了深入的研究,并且不少人都开始转向SWT的使用。也许有人会问,既然有了 Swing, 那为什么还要SWT?答案很简单,因为人们的理念不同。SWT的原理是根据运行者的操作系统不同调用JNI来完成图形界面的绘制的,如果你用的是 Windows,那么建立的窗口就是windows风格的,还可以用XP的皮肤,如果是Linux或者MacOS的话,则在代码不改变的情况下,绘制出相 应风格的界面。而Swing则是完全从底层开始自己“手绘”界面的,这也就导致了速度比较慢和工人的“风格诡异”的问题。当然,由于Sun的强大推动力和 AWT/Swing的普及,很多人仍然在使用Swing作为首选的GUI开发工具包。
Eclipse本身就自带了SWT/Swing的相关jar包,所以不用下载。如果不喜欢自己手写GUI代码的话就去下载一个可视化开发插件(WindowBuilder)通过拖动控件实现布局设计以及事件代码编码。
二、WindowBuilder插件安装
Eclipse上安装插件很简单,主要有两种方式:第一种就是在线安装插件;第二种就是,采取离线方式,也就是先将插件压缩包下载下来。推荐使用第二种,因为到时候你可以自己随时删除这个插件。
1、找到对应版本的windowbuilder
打开这个链接:http://www.eclipse.org/windowbuilder/download.php
显示eclipse的版本号和对应的插件链接
Update Sites
Eclipse Version
Release Version
Integration Version
Update Site
Zipped Update Site
Update Site
Zipped Update Site
4.7 (Oxygen)
link
4.6 (Neon)
link
link
4.5 (Mars)
link
link (MD5 Hash)
link
link (MD5 Hash)
4.4 (Luna)
link
link (MD5 Hash)
link
link (MD5 Hash)
4.3 (Kepler)
link
link (MD5 Hash)
4.2 (Juno)
link
link (MD5 Hash)
3.8 (Juno)
link
link (MD5 Hash)
根据你下载的Eclipse版本选择,应该下载那个。因为我使用的是Juno(4.2),下载了这个对应的WindowBuilder插件。
2、点击Eclipse中的Help,再次点击InstallNew Software,出现:
3、点击“Add”按钮,弹出一个AddRepository对话框。
在Name那一栏填写插件的名称,如WindowBuilder。再点击Archive,选择插件所在目录。
4、点击Ok出现,AvailableSoftware
select all勾选,同意协议。一步一步的简单点击就可以了,安装成功后会要求重启Eclipse。
三、如何使用WindowBuilder插件
新建一个工程,New-->JavaProject,工程名为GuiTest。
添加一个窗口,new-->other然后选择下图
选择SwingDesigner,(如果确实要选择SWTDesigner也可以,只不过SWTDesigner兼容性没有SwingDesigner这么好,毕竟SwingDesigner是针对Java使用的,它里面的控件都是JXXXX形式的,比如JText,而SWT Designer确实XXXX形式的,比如Text),所以,最好选择SwingDesigner里面的组件。
在WindowBuilder下可以直接建立工程,也可以建立单个的窗口。假设已经建立了工程,这里选择Swing Designer下的Application Window,点击Next >后,类似于新建类,在后续对话框中输入Name和Package。
Finish后,即可得到Test.java。打开Test.java,可见其中已经预先生成了一些代码,是一个空白的窗体。点击代码窗口左下角新出现“Design"标签,可以使用WindowBuilder Editor可视化地查看窗体,如图所示。
WindowBuilder Eidtor的界面类似于VS等工具,能够可视化地对界面进行设计。
添加事件,在Components中选择一个控件,右键点击,弹出窗口,可以选择add Eventhandler事件。
实例代码:
package com.zychen.form;import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JTextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class Test {private JFrame frame;private JTextField textField;/** * Launch the application. */public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {Test window = new Test();window.frame.setVisible(true);} catch (Exception e) {e.printStackTrace();}}});}/** * Create the application. */public Test() {initialize();}/** * Initialize the contents of the frame. */private void initialize() {frame = new JFrame();frame.setBounds(100, 100, 450, 300);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().setLayout(null);JLabel lblNewLabel = new JLabel("Name");lblNewLabel.setBounds(10, 33, 54, 15);frame.getContentPane().add(lblNewLabel);textField = new JTextField();textField.setBounds(74, 30, 66, 21);frame.getContentPane().add(textField);textField.setColumns(10);JButton btnNewButton = new JButton("submit");btnNewButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {textField.setText("hello");}});btnNewButton.setBounds(35, 73, 93, 23);frame.getContentPane().add(btnNewButton);}}
运行界面
- Eclipse下搭建SWT与Swing图形界面开发环境
- eclipse下搭建SWT图形界面开发环境
- Eclipse下搭建SWT开发环境
- Eclipse平台利用SWT Designer6.0进行图形界面开发入门--搭建开发环境篇
- eclipse 搭建Swt 环境
- 下载SWT Designer,配置myeclipse下的swing开发环境
- SWT Designer,配置myeclipse下的swing开发环境
- Eclipse下配置swt开发环境
- Eclipse搭建Java Swing可视化开发环境
- Eclipse与Netbeans,SWT与Swing
- Eclipse 3.7 3.x SWT/Jface 开发环境搭建
- Eclipse swing/swt可视化开发工具windowbuilder
- Eclipse开发Swing, SWT, RCP的插件
- Eclipse下开发环境搭建
- Windows下MinGW与Eclipse CDT开发环境搭建(转)
- eclipse下SWT/JFace开发
- Eclipse java swing开发环境
- Eclipse java swing开发环境
- c++ 类型转换
- 读《代码整洁之道》笔记
- js中的事件委托和事件模拟
- 深度优先搜索(DFS)
- 关于工作与成长的121条具体建议
- Eclipse下搭建SWT与Swing图形界面开发环境
- C++语言基础
- 华为OJ——MP3光标位置
- 17/7/29学习笔记02
- 【设计模式】单例模式
- Linux的文本处理工具
- Lua 介绍及应用
- [Coursera机器学习]Anomaly Detection and Recommender Systems WEEK9编程作业
- DOS find