一、通过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

JFrame windowbuiler的使用基础的更多相关文章

  1. JFrame画图基础和事件监听

    消息框 JOptionPane.showMessageDialog(mine.this, "删除不成功!"); 画图 class MyJPanel extends JPanel / ...

  2. Java基础学习总结 -- 图形用户界面GUI

    虽然目前Java算不上前端开发的主力,但是作为Java入门基础的一部分,学习Java的GUI编程还是有必要的,而且可以做出一些小且有趣的图形程序来提高学习热情.本篇学习总结均为一个Beginner的笔 ...

  3. Java基础常见英语词汇

    Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的                             ['prəʊɡræmɪŋ]编程 OO: object ...

  4. Java基础知识学习(九)

    GUI开发 先前用Java编写GUI程序,是使用抽象窗口工具包AWT(Abstract Window Toolkit).现在多用Swing.Swing可以看作是AWT的改良版,而不是代替AWT,是对A ...

  5. Java基础之扩展GUI——高亮元素、上下文菜单、移动旋转元素、自定义颜色(Sketcher 10)

    窗口应用程序. 本例在上一版的基础上实现了高亮元素.移动元素.上下文菜单.旋转元素.设置自定义颜色. 1.自定义常量包: // Defines application wide constants p ...

  6. JFrame中setDefaultCloseOperation的参数含义

    实例1:一个空的java窗口 // JFrameDemo1.java import javax.swing.*;     //使用Swing类,必须引入Swing包 public class JFra ...

  7. 黑马程序员_Java基础:多功能小窗口,swing,io,net综合应用

    ------- android培训.java培训.期待与您交流! ---------- 概念原理的理解,不代表能熟练应用. 如果将多个知识点关联并应用起来,这能加快我们对知识的掌握. 作为一个初学者, ...

  8. Swing基础

    Swing基础 JFrame JPanel 绘图:paint 监听事件: ActionListener  KeyListener Listener和Adapter 计时器:Timer     Time ...

  9. 转:二十七、Java图形化界面设计——容器(JFrame)

    转:http://blog.csdn.net/liujun13579/article/details/7756729 二十七.Java图形化界面设计——容器(JFrame) 程序是为了方便用户使用的, ...

随机推荐

  1. ubuntu 16.04 修改网卡显示名称

    ~# sudo nano /etc/default/grub找到:GRUB_CMDLINE_LINUX=""改为:GRUB_CMDLINE_LINUX="net.ifna ...

  2. (十六)Centos之安装mysql

    第一步:获取mysql YUM源 进入mysql官网获取RPM包下载地址 https://dev.mysql.com/downloads/repo/yum/ 点击 下载 右击 复制链接地址 https ...

  3. centos6.8 ssh 问题

    xshell用ROOT不能登录 需要把 /etc/ssh/sshd_config 中的端口新建一个 不能用默认的

  4. 【pep8规范】arc diff 不符合 pep 8 规范

    arc land 的时候,arc报错提示代码不符合pep8规范: 1.单行代码过长(括号中的换行不需要加 /) python代码换行加 / https://blog.csdn.net/codechel ...

  5. wordpress通过$wpdp更新数据表内容

    如下面的代码 更新id为1的数据 table 指的是要更新的数据表 第一个数组 array( 'column1' => 'value1', 'column2' => 'value2' ) ...

  6. Django面试题(附带答案)

    总结的一些Django中会问的问题,希望对你们有用. 1. Django的生命周期 当用户在浏览器输入url时,浏览器会生成请求头和请求体发送给服务端,url经过Django中的wsgi时请求对象创建 ...

  7. Echarts 图表的本地配置

    前言 Echarts是一个美观的可视化工具,但是很多朋友初次接触,不知道自己该怎么创建一个包含Echartst图表的本地HTML网页,本文将详细地介绍Echarts的使用流程. 使用流程步骤 共分为三 ...

  8. 动态规划算法(Dynamic Programming,简称 DP)

    动态规划算法(Dynamic Programming,简称 DP) 浅谈动态规划 动态规划算法(Dynamic Programming,简称 DP)似乎是一种很高深莫测的算法,你会在一些面试或算法书籍 ...

  9. 作为linux新手需掌握的常用命令大全

    学了几周的linux系统,接触最多的就是各种各样的命令,此篇随笔作为对之前所学的各中命令的整理扩展. 1.man命令 man命令作为第一个要学的Linux命令是因为它的作用非常强大——可用于查看命令的 ...

  10. python 模块import(26)

    一.模块简介 python开发中,每一个.py文件都可以看作是一个模块,模块内部的函数或者方法可以被其他模块调用,至于函数或者方法是具体如何实现的,调用者不需要关心. 假如项目中既含有UI也有逻辑代码 ...