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. 全功能Python测试框架:pytest

    python通用测试框架大多数人用的是unittest+HTMLTestRunner,这段时间看到了pytest文档,发现这个框架和丰富的plugins很好用,所以来学习下pytest.   imag ...

  2. mysql 驱动问题

    转 : https://blog.csdn.net/bloodycuckoo/article/details/51175339 转 : https://blog.csdn.net/u010746431 ...

  3. High waits on control file sequential read

    High waits on control file sequential read (文档 ID 2277867.1) In case we run into an issue where cont ...

  4. X Samara Regional Intercollegiate Programming Contest DIV2

    http://codeforces.com/gym/101341 其实我觉得这份题很不错的,虽然是div2,但是感觉对我挺有帮助(我比较垃圾0.0),还没补完(做的时候一直蒙逼,要补很多题)先写一点点 ...

  5. 关于Kettle的事务和转换内步骤的顺序执行

    关于Kettle的事务和转换内步骤的顺序执行 近来有项目中遇到Kettle事务处理和转换内步骤顺序执行的问题.为此进行了研究,找到了一个解决办法. 在Kettle中,一个Job内的转换,缺省是顺序执行 ...

  6. Bootstrap下拉菜单相关

    1.实现普通下拉菜单:.dropdown>button.dropdown-toggle[data-toggle="dropdown"]+ul.dropdown-menu; 2 ...

  7. ubuntu和window之间如何共享文件

    参考网上的自己动手实现共享文件: 1.打开虚拟机进入ubuntu系统,先安装增强功能包 2.安装完重启虚拟机后,在window下创建一个专门用来共享的文件夹 3.切换到ubuntu系统,在设备的共享文 ...

  8. PC端和手机端页面的一丢丢区别

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  9. C++运算符重载讲解与经典实例

    最近在学C++,找到一篇详细讲解运算符重载的文章,贴在这里分享和收藏. C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作.例如: class  ...

  10. ubuntu server 16.04安装GPU服务器

    1 Ubuntu16.04 系统安装过程中,需要勾选openssh-server 方便远程连接 2 必须安装gcc 与g++ 3 安装显卡驱动 NVIDIA-Linux-x86_64-367.57.r ...