JFrame windowbuiler的使用基础
一、通过windowbuilder创建java项目:
New --Other--windowbuilder--SWT Designer --SWT/JFace Java Project
二.创建文件
点击Design
三、通过可视化的java实体类和在实体类中编写java代码实现JFrame窗体的开发工作:在窗体中添加不同功能块、美化窗体、添加各种事件等实现JFrame窗体的开发,具体操作见下面中的一般功能;
四、通过eclipse利用windowbuilder插件开发窗体JFrame用到的一般功能:
非常注意:任何一个JFrame都要首先执行这一步操作:
窗体中所有的功能块一般都可以设置一下集中数据:功能块名字、xy定位、宽度、高度、字体样式、对齐方式等;
(1)在窗体中添加不同功能块:
1、文本内容:
2、普通输入框(可输入):
3、普通输入框(只读):
4、密码输入框:
5、单选按钮:(最好放在一个JPanel中去,方便获取选择值)
添加自己需要的若干个按钮:
通过java代码,手动将若干个按钮都添加在一个ButtonGroup中,实现单选功能:
6、多选按钮:(最好放在一个JPanel中去,方便获取选择值)
7、下拉菜单:
8、提交按钮:
9、日期控件:
10、窗体跳转:
然后,直接在Override重写的方法中写方法体即可,即通过new创建一个新的对象即可
11、跳转窗体传递参数:
与跳转窗体类似,只不过是在Override重写的方法中,先获取要传递的参数值,然后让参数值通过有参的构造方法将参数传递给另一个窗体;
12、插入背景图片:
插入图片,一般都是要用到分层JLayeredPane的,然后创建JPanel,最后在JPanel中创建JLabel,将图片的ImageIcon对象添加到JLabel中去,如果需要设置图片大小,需要再ImageIcon对象中和JPanel中都要进行设置;
(2)获取不同功能块的值:
1、获取输入框中输入的内容:
获取该元素,调用getText()方法即可获取string值
2、获取单选按钮选择值:
通过对JPanel下的每一个JRadioButton进行判断,哪个选中就获取该元素,然后调用getText()获取哪个值;
3、获取多选按钮选择值:
首先获取JPanel下的多选按钮的个数,然后遍历每一个按钮,判断该按钮是否被选中,如果选中就获取该元素,调用getText()方法获取该值,存储到一个数组中;
4、获取下拉菜单选择值:
获取该元素,调用getSelectedItem()方法,然后调用toString()转化为字符串;
5、获取日期控件选择值:
获取该元素,并转化为DatePicker类型元素,调用getText()方法即可;
(3)为窗体中功能块添加不同事件:
1、鼠标点击事件:
添加事件:
编写方法体:在方法体中编写对应的java代码;
鼠标进入事件、移除事件、按下事件、弹起事件等类似;
2、获取光标事件:
添加事件:
编写方法体:在方法体中编写对应的Java代码;
失去光标事件类似;
3、键盘enter提交事件:首先创建KeyListener对象,然后获取按下的键盘的ASII码值,然后再写对应的方法体中的java的代码,最后给各种文本框都添加上KeyListener对象的事件即可;
为JFrame中的所有输入框都添加上KeyListener对象的事件:
4、添加其它事件(以后需要再进行查找):好多事件都在add event handler中,用到了,具体再了解;
(4)其它的常见功能:
1、插入多张背景图片进行分层显示:
与插入普通的背景图片非常相似,不同的是JPanel对象在添加到JLayeredPane对象中的时候,设置添加到最底层了;
2、在背景图片上的内容设置透明度以显示背景图片:
首先与插入多张背景图片进行分层显示相同,添加好背景图片,然后在创建JPanel对象,并且将该对象添加到JLayeredPane中的高一层,设置JPanel对象为透明,即可显示出背景图片;
3、输入框圆角:(有自己的工具类,详情见核心代码中项目中util工具类中的java代码)
创建对应边界线性的对象:
在需要的地方,给该对象设置边界样式为创建的边界线性对象:
4、输入框只显示下边线条与上述类似;
5、窗体圆角:
6、Button自定义按钮(背景颜色+圆角+点击效果):
采用自定义的button按钮,具体代码见核心代码中项目中的Login1实体类中的代码。
7、验证码功能:在博客中有详细的介绍,博客中验证码网址:http://www.cnblogs.com/lsy-blogs/p/7665974.html
最新文章
- C#中TransactionScope的使用方法和原理
- ferret不能创建txt文本
- SQL Server中的索引结构与疑惑
- C#设计模式(15)——命令模式(Command Pattern)
- YII获取刚插入数据的id主键
- java中queue的使用
- magic c c++ unix 注册机 注册码 破解版 下载
- program_options禁止命令行短参数
- C#线程 访问资源同步简介
- 解读QML之四
- TreeMap集合特点、排序原理
- JAVAEE学习——struts2_01:简介、搭建、架构、配置、action类详解和练习:客户列表
- 经典问题----拓扑排序(HDU2647)
- Web项目替换jar包中的文件的方法
- pthread mutex
- c#里如何实现讲一个字符串数组例如 “112,221”转化成两个字符串数组“112” “221” 中间以逗号隔开
- js方法传入对象;js方法传入方法;js方法回调 callback
- 配合dedecms内容模型实现后台输入栏目id前端输出文章列表
- windows下的 gvim - su'blime text 的使用
- ios 打tag
热门文章
- asp.net怎样实现批量下载文件(非打包形式下载)
- Microsoft Visual Studio(VS)启动报安装过程中无法运行
- LeetCode_69. Sqrt(x)
- 【Leetcode_easy】687. Longest Univalue Path
- 第十三章 RememberMe——《跟我学Shiro》
- iOS-app清除缓存
- OC入门笔记
- 【VS开发】Wix 安装教程
- 电脑磁盘分区助手:DiskGenius磁盘管理与数据恢复软件
- csu 1901: 赏赐 OR 灾难