Java-JFrame可视化开发的一般步骤

  JFrame可以做出类似于QQ登录功能的窗体,通过JFrame可以利用Java代码实现窗体功能,一般用于CS项目的C(客户端)的开发;

  利用JFrame可以自己写java代码,也可以通过在eclipse中安装windowbuilder插件,这样可以利用windowbuilder插件对窗体进行可视化的快速创建、操作等,快速实现编程的开发;

  通过eclipse利用windowbuilder插件对JFrame窗体进行可视化开发的一般步骤如下:

一、在eclipse中添加windowbuilder插件:

1、首先查看自己eclipse的版本:

2、通过eclipse版本在windowbuilder插件网上选择对应的版本号的http地址:网址:http://www.eclipse.org/windowbuilder/download.php

3、然后再eclipse中安装windowbuilder插件:

  eclipse-->help-->Install New Software打开:

Name:随便写一个名字,最好是见名知意,如:windowbuilder

Locatioin:就是写刚才根据eclipse版本获取的http栏中的地址;

  下一步,全部选择,然后下一步,直到完成,然后重启eclipse即可完成;

二、在eclipse中创建windowbuilder的java项目,并创建可视化开发的java实体类:

1、通过windowbuilder创建java项目:

2、添加jar包:DJNativeSwing-1.0.0.jar、DJNativeSwing-SWT-1.0.0.jar、org.eclipse.swt.win32.win32.x86_64-4.3.jar(此jar包根据计算机是32位还是64位进行下载,本例中是64位操作系统)

3、通过windowbuilder创建java实体类:new--->other:

  创建好java实体类,然后可以用windowbuilder可视化打开java实体类:

三、通过可视化的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

Java-JFrame可视化开发的更多相关文章

  1. 使用MyEclipse可视化开发Hibernate实例

    2.7  使用MyEclipse可视化开发Hibernate实例 2.7节的例子源代码在配套光盘sourcecode/workspace目录的chapter02_first项目中. 这个实例主要演示如 ...

  2. eclipseGUI的可视化开发工具插件

    一   各种GUI开发插件的特色 Eclipse并不自带GUI的可视化开发工具,那么如果要在Eclipse进行可视化的GUI开发,就需要依靠第三方的插件. 1. Visual Editor Eclip ...

  3. 可视化开发_AppInventor2似乎被抛弃了

    工具 blockly google,mixly,scratch,app inventor2 的分别 可视化编程,青雀,来自 白鹭 没源码 如果想二次开发呢,初版拖拽控件生成,后期维护的时候找程序员加功 ...

  4. Java 图形界面开发--图文并茂建立学生管理系统

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/50932501 冷血之心的博客) 图形用户界面(Graphics U ...

  5. Java AWT组件开发和Swing界面编程

    一.AWT组件开发 1.AWT AWT是抽象窗口工具箱的缩写,它为编写图形用户界面提供了用户接口,通过这个接口就可以继承很多方法,省去了很多工作.AWT还能使应用程序更好地同用户进行交互. AWT中的 ...

  6. 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

    今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...

  7. Java和WebSocket开发网页聊天室

    小编心语:咳咳咳,今天又是聊天室,到现在为止小编已经分享了不下两个了,这一次跟之前的又不大相同,这一次是网页聊天室,具体怎么着,还请各位看官往下看~ Java和WebSocket开发网页聊天室 一.项 ...

  8. ubuntu上用eclipse搭建java、python开发环境

    上一篇文章讲到如何在windwos上用eclipse搭建java.python开发环境,这一讲将关注如何在ubuntu上实现搭建,本人使用虚拟机安装的ubuntu系统,系统版本为:14.04 lts ...

  9. java web的开发 知识要点

    近期闲下来时写的一个有关 java web的开发 的 常用架构 的总结,用于初 学 者或团队新人培训. Java开发初步.ppt SSH  为 struts+spring+hibernate 的一个集 ...

随机推荐

  1. 066 Plus One

    给定一个非负整数组成的非空数组,给整数加一.可以假设整数不包含任何前导零,除了数字0本身.最高位数字存放在列表的首位.详见:https://leetcode.com/problems/plus-one ...

  2. GC是如何回收SoftReference对象的

    看Fresco的代码中,有这样的一个类: /** * To eliminate the possibility of some of our objects causing an OutOfMemor ...

  3. css3弹性伸缩和使用

    columns  分栏 column的中文意思就是栏的意思,在html中,作用是分列,把一块内容相同比例均匀的分成一块一块的列,想报纸的内容似的,一篇文章在一张内容上分成好几栏那样显示,它的属性有 1 ...

  4. Burpsuite Professional安装及使用教程

    转自:https://www.jianshu.com/p/edbd68d7c341 1.先从吾爱破解论坛下载工具:https://down.52pojie.cn/Tools/Network_Analy ...

  5. python 之正则表达式

    一.正则表达式 首先,我们需要感性的了解下什么是正则表达式,简单的是说“正则表达式”就是一个“表达式”,更准确定义是:“用一个简洁的方法来实现对“一组字符串”的表达式. 最终目的就是实现“一行胜千言” ...

  6. This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms while caching

    今天运行自己的网站时报了这样一个错误,很是纳闷,这个网站运行了这么久,怎么报这个错呢,原来是做缓存的时候用到了基于windows平台的加密算法.解决方法如下: 删除注册表下的这个节点即可.删除HKEY ...

  7. Android系统Binder机制学习总结

    一.Binder机制概述 在Android开发中,很多时候我们需要用到进程间通信,所谓进程间通信,实现进程间通信的机制有很多种,比如说socket.pipe等,Android中进程间通信的方式主要有三 ...

  8. UVA 10570 Meeting with Aliens 外星人聚会

    题意:给你一个排列,每次可以交换两个整数(不一定要相邻),求最少交换次数把排列变成一个1~n的环形排列.(正反都算) 其实就是找环了,对于一个链状序列,最小交换次数等于不在对应位置的数字个数减去环的个 ...

  9. HTML之基本语法(段落标签、标题标签、空格标签、换行标签、图片标签和图片的基本属性)

    一.HTML标签 所谓的HTML的标签就是发明者认为定义好的一些单词,就相当于我们汉语中的字 二.HTML的语法 语法就是用来定义这些“字”应该如何解析或者书写的规则 三.常见标签及基本语法 1.人为 ...

  10. 第三章 DOM的基本

    节点分为不同的类型:元素节点.属性节点和文本节点 getElementById()方法 这个方法将返回一个与那个有着给定id属性值的元素节点相对应的对象.注意大小写.该方法只有一个参数.这个参数也就是 ...