使用WindowBuilder设计Swing程序
Swing程序表示Java的客户端窗体程序,除了通过手动编写代码的方式设计Swing程序之外,Eclipse中还提供了一种WindowBuilder工具,该工具是一种非常好用的Swing可视化开发工具,有了它,开发人员就可以像Visual Studio一样通过拖放组件的方式编写Swing程序了,下面对如何使用WindowBuilder开发工具设计Swing程序进行详细介绍。
A.1 下载WindowBuilder工具
下载WindowBuilder工具有两种方法,一种方法是直接下载集成WindowBuilder工具的Eclipse,另外一种是通过Install New Software安装,下面分别介绍。
þ 下载集成WindowBuilder工具的Eclipse
在Eclipse官方网站的Eclipse下载页面提供了多种Eclipse工具,其中有一个“Eclipse IDE for Java Developers”选项,该项即集成了WindowBuilder工具,用户只需要根据自己的操作系统位数下载相应的版本即可,如图A.1所示。
图A.1下载集成WindowBuilder工具的Eclipse
þ 通过Install New Software安装WindowBuilder工具
如果用户下载的Eclipse版本不是“Eclipse IDE for Java Developers”,这时想要使用WindowBuilder工具开发Swing程序就需要手动进行安装,步骤如下:
(1)打开Eclipse,在Eclipse菜单中选择“Help/About Eclipse”菜单,如图A.2所示。
图A.2 选择“Help/About Eclipse”菜单
(2)弹出“About Eclipse”对话框,该对话框中可以看到Eclipse的版本,如图A.3所示。
图A.3 查看Eclipse的版本
(3)在IE浏览器的地址栏输入网址http://www.eclipse.org/windowbuilder/download.php,进入Eclipse官网的WindowBuilder下载界面,如图A.4所示。
图A.4 WindowBuilder下载界面
(4)根据自己的Eclipse版本单击对应的“Release Version”下的“Update Site”中的link链接,这里选择“4.5(Mars)”版本,进入到一个空白页,复制该空白页的网址(http://download.eclipse.org/windowbuilder/WB/release/R201506241200-1/4.5/)
(5)打开Eclipse,在Eclipse菜单中选择“Help/ Install New Software”菜单,如图A.5所示。
图A.5 选择“Help/ Install New Software”菜单
(6)弹出Install对话框,如图A.6所示。
图A.6 Install对话框
(7)在Install对话框中单击Add按钮,弹出“Add Repository”对话框,如图A.7所示,该对话框中,在Name文本框中输入要安装的插件名称WindowBuilder;Location文本框中输入WindowBuilder工具的更新地址(即步骤(4)中复制的http://download.eclipse.org/windowbuilder/WB/release/R201506241200-1/4.5/)
图A.7 “Add Repository”对话框
(8)单击OK按钮,返回Install对话框,该对话框中选中WindowBuilder工具的更新内容,然后按照提示单击Next,即可将WindowBuilder工具安装到Eclipse中,如图A.8所示。
图A.8 安装WindowBuilder工具
A.2 使用WindowBuilder设计窗体
为Eclipse安装完WindowBuilder工具之后,就可以使用WindowBuilder设计Swing程序了,步骤如下:
(1)新建一个Java项目,在Java项目上单击右键,选择“New/Other”快捷菜单,如图A.9所示。
图A.9 选择“New/Other”快捷菜单
(2)弹出New对话框,该对话框中因此展开“WindowBuilder/Swing Designer”菜单,选中JFrame菜单项,如图A.10所示。
图A.10 选中JFrame菜单项
(3)单击Next按钮,进入“New JFrame”对话框,该对话框中输入相应的包名(Package)和窗体名称(Name),如图A.11所示。
图A.11 “New JFrame”对话框
注意:
创建JFrame窗体时,必须依赖于某一个Java项目,即“New JFrame”对话框中的“Source folder”文本框不能为空,否则,将会出现如图A.12所示的错误提示。
(4)单击Finish按钮,即可创建一个JFrame窗体。创建完的JFrame窗体的java文件中,系统会自动生成部分代码,如图A.13所示。
图A.13 自动生成的JFrame窗体代码
(5)单击底部的Design选项卡,可以切换到可视化设计界面,如图A.14所示,该界面中有3个主要区域,分别是组件工具箱、窗体设计区和属性,其中,组件工具箱提供了设计Swing程序所需的布局管理器、容器和各种组件;窗体设计区主要用来对窗体进行可视化的设计;属性区域用来对窗体或者组件的相关属性进行设置,这样就省去了编写代码设置属性的过程,更加方便快捷。
图A.14 JFrame可视化设计界面
(6)在可视化设计界面中,用户可以根据自己的实际需要在窗体中绘制相应的组件,并对组件的属性进行设置,绘制组件的具体操作为:在左侧“组件工具箱”选中单击要显示在窗体上的组件,然后将鼠标移动到“窗体设计区”,会显示一个带绿色原点的鼠标形状,在某个区域单击鼠标左键,即可绘制一个相应的组件,如图A.15所示。
图A.15 在JFrame窗体中绘制组件
说明:
创建完JFrame窗体后,默认的布局方式为BorderLayout边界布局,如果想要取消布局,可以直接在窗体设计区按Delete键删除,然后切换到.java文件(单击底部的Source选项卡),将setLayout方法的参数设置为null。
使用WindowBuilder设计Swing程序的更多相关文章
- 在Eclipse中使用WindowBuilder设计Swing程序
在Eclipse中使用WindowBuilder设计Swing程序 Swing程序表示Java的客户端窗体程序,除了通过手动编写代码的方式设计Swing程序之外,Eclipse中还提供了一种W ...
- Swing程序最佳架构设计—以业务对象为中心的MVC模式(转)
前言: 我打算写一系列关于Swing程序开发的文章.这是由于最近我在做一个Swing产品的开发.长期做JavaEE程序,让我有些麻木了.Swing是设计模式的典范,是一件优雅的艺术品,是一件超越时代的 ...
- 设计一个程序能够将某一个目录下面的所有文件名打印出来---File类的使用
,设计一个程序能够将某一个目录下面的所有文件名打印出来 运用到的方法有:返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录:list() 测试此抽象路径名表示的 ...
- 记录一个在制作Swing程序的小怪事
在制作一个Swing程序时,出现了奇怪的事情,程序在Eclipse里执行正常,但打包后再执行那些动态执行的控件就消失不见了.截图如下: 在Eclipse里正常执行的画面: 打包执行后出现的画面: 可以 ...
- 解决 GTK+/GNOME 3 环境下 Java Swing 程序使用本地 GTK+ 主题时菜单无边框 bug 的方法
在 GTK+/GNOME 3 环境下采用默认的 Adwaita 主题时,Java Swing 程序如果使用本地 GTK+ 主题会出现菜单无边框的 bug,这个问题也可能在其他常用的 GTK+ 主题中出 ...
- Java界面设计 Swing(1)
Java界面设计的用途 开发者可以通过Java SE开发丰富并且强大的具有图形界面的桌面应用程序.也可以设计一些提高效率的工具软件,帮助自己处理机械性工作. Java 的图形界面工具包,可以用于工具类 ...
- 编写图形界面下的Java Swing程序,接受用户输入的两个数据为上下限,然后输出上、下限之间的所有素数。(结果部分每行显示10个数据)
这个代码我整体写的比较简单,读者可以简单参考一下,对人家题目要求略微修改了一下,多加了一个“置空”按钮.下图为我设计的界面 运行程序后的截图请看我后面的截图: package com.wangshil ...
- 单片机课程设计-四位加法计算器设计参考程序(c语言)
#include<reg52.h> typedef unsigned char uint8; typedef unsigned int uint16; sbit rw=P2^; sbit ...
- 微信小程序 - 怎样合理设计小程序
假如我们无意中,把腾讯地图或者高德地图的管理Key删了! 关于定位的一切相关模块就都会报废! 接着呢?客户会找你,对你公司信任感下降,一系列问题接踵而来 最好的办法就是先预留key后台管理 “随时可以 ...
随机推荐
- Extended symmetrical multiprocessor architecture
An architecture for an extended multiprocessor (XMP) computer system is provided. The XMP computer s ...
- kendo grid 点击新增没有反映
在datasource中缺少 editable: "inline",这一行
- GNS3和Cisco IOU搭建路由交换实验-IOU篇
http://www.mamicode.com/info-detail-605879.html
- heap实现
//STL提供的是Max heap,使用vector作为底部容器 //push_heap算法:首先将元素放到堆所对应的数组的末端,然后从该节点开始向上调整, //若当前结点键值比父结点大,则兑换位置, ...
- Android之设置拖拽监听
以EditText为例: username.setOnDragListener(new OnDragListener() { @Overridepublic boolean onDrag(View v ...
- golang中channels的本质详解,经典!
原文:https://www.goinggo.net/2014/02/the-nature-of-channels-in-go.html The Nature Of Channels In Go 这篇 ...
- oracle约束总结(not null/unique/primary key/foreign key/check)
约束(constraint):对创建的表的列属性.字段进行的限制. 诸如:not null/unique/primary key/foreign key/check 作用范围: ①列级 ...
- phpstorm安装和调试
首先: phpstorm是用JAVA开发的,所以在安装之前须要先安装jdk sudo apt-get install default-jdk 从官网上下载phpstorm 的linux版本号 http ...
- install yael on the ubuntu 12.04
1. bits/predefs.h no such file or directory ??? sudo apt-get install gcc-multilib 2. sudo gedit /et ...
- 【C++程序不输出】到底是什么造成了程序不输出
(ubuntu 16.04) 最近做题的时候,经常莫名其妙地,程序写的明明没毛病但是就是输出不了,气得我呀 然后某一次突然发现了原因,竟然是输出之后没有加endl或者空格! 例如: cout<& ...