`
wz94
  • 浏览: 30936 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Swing界面开发总结

阅读更多

一、java的图形界面

 

               1.awt              java.awt

                               jdk1.4之前推出的图形界面,用c/c++编写,跨平台性不好

               2.swing          javax.swing

                               jdk1.4时推出的图形界面,跨平台性好

 

 

二、常用的组件

           

               1.容器组件

                      JFrame               窗体类        最顶级的容器(默认布局为边框布局,不能自己互相添加)

                      JPanel                面板类         最灵活的容器(可以自己互相添加)

 

                2.元素组件

                      JLabel                   标签类

                      JTextField             文本输入框类(可以设置框内字符、输入框长度)

                      JPasswordField     密码输入框类(框内字符会被特定字符代替)

                      JCheckBox            复选框类

                      JComboBox          下拉框类

                      JButton                 按钮类

                     

               容器和组件都是swing包下的类。javax.swing.JFrame

 

三、常用的布局

     

                1.布局类只能用在容器中。设置布局时需用setLayout()

                   BorderLayout                边框布局(将窗体分为上下左右中五个区域,调用时分别.NORTH,.SOUTH,.WEST,.EAST,.CENTER,若未标明表示CENTER,未添加布局时默认为边框布局加在中央)

                    FlowLayout                   流式布局(如同文本文档一样一行一行排列,排列满换行,默认方向为从左向右,可以设置对齐方向)

                    GridLayout                     网格布局(可以设置几列几行,间距)

 

                   这三种都是位于awt包下的类。java.awt.***Layout

 

 

四、简单登录界面的实现

                 

                   1.新建一个xxx类(Login),在类中定义主函数。
                   2.在类中定义一个初始化界面的方法(initUI)
                   3.在初始化界面的方法中,实例化一个顶级容器(JFrame)类的对象。
                   4.设置JFrame对象的属性值(标题,大小,显示位置,关闭退出程序,禁止调整大小,可见,该步完成对一个窗体的创建)
                   5.实例化元素组件对象,将对象添加到窗体上
                   6.在主函数中实例化Login类的对象,用对象名调用初始化界面的方法。

                    注:setDefaultCloseOperation()括号中可选数字,3是关闭时退出程序。0是不关闭。1是隐藏,2是关闭时程序继续工作。

                           setVisible(true)必须放在最后才能显示所有组件。true为可见。

                           setSize()大小为像素点的大小。默认起点为左上角。

五、代码

 

1.简单的登录界面

                 可以用流式布局或者边框布局。

package cn.wz.study0718;
//定义一个登录界面
public class showFrameqq {

	
	//  入口主函数
	 
	public static void main(String[] args) {
		// 实例化showFrameqq类的对象
		showFrameqq showqq = new showFrameqq();
		//调用qq界面的方法
		showqq.initGUI();

	}
	//定义一个qq界面的方法
	public void initGUI(){
		//实例化一个JFrame类的对象
		javax.swing.JFrame jf = new javax.swing.JFrame();
		//设置窗体的标题属性
		jf.setTitle("QQ登录界面");
		//设置窗体的大小属性
		jf.setSize(300,200);
		//设置窗体的位置属性
		jf.setLocation(450,200);
		//设置窗体关闭时退出程序
		jf.setDefaultCloseOperation(3);
		//设置禁止调整窗体的大小
		jf.setResizable(false);
		
		//实例化一个布局类的对象
		java.awt.FlowLayout fl = new java.awt.FlowLayout(); 
		//设置窗体的布局方式为流式布局
		jf.setLayout(fl);
		//实例化一个JLabel标签类的对象
		javax.swing.JLabel jlaName = new javax.swing.JLabel("                                          ");
		//将jlaName对象添加到容器JFrame对象上
		jf.add(jlaName);
		//实例化一个JTextField对象
		javax.swing.JTextField jteName = new javax.swing.JTextField("账号",20);
		//将jteName对象添加到容器JFrame对象上
		jf.add(jteName);
		//实例化一个JLabel对象
		javax.swing.JLabel jlaName2 = new javax.swing.JLabel("注册账号");
		//将jlaName2对象添加到容器JFrame对象上
		jf.add(jlaName2);
		//实例化一个JPasswordField对象
		javax.swing.JPasswordField jpaName = new javax.swing.JPasswordField("请输入密码",20);
		//将jpaName对象添加到容器JFrame对象上
		jf.add(jpaName);
		//实例化一个JLabel对象
		javax.swing.JLabel jlaName3 = new javax.swing.JLabel("找回密码");
		//将jlaName3对象添加到容器JFrame对象上
		jf.add(jlaName3);
		//实例化一个JCheckBox对象
		javax.swing.JCheckBox jchName = new javax.swing.JCheckBox("记住密码");
		//将jchName3对象添加到容器JFrame对象上
		jf.add(jchName);
		//实例化一个JCheckBox对象
		javax.swing.JCheckBox jchName2 = new javax.swing.JCheckBox("自动登录");
		//将jchName3对象添加到容器JFrame对象上
		jf.add(jchName2);
		//实例化一个JCheckBox对象
		javax.swing.JButton jbuName = new javax.swing.JButton("           登             录          ");
		//将jButton对象添加到容器JFrame对象上
		jf.add(jbuName);
		
		jf.setVisible(true);
	}
	

}

 

2.简单的计算器界面

             分析:使用网格布局。

 

package cn.wz.study0718;
//定义一个计算器界面
public class showCalculaterFrame {

	//入口主函数
	public static void main(String[] args) {
		//实例化一个showCalculaterFrame类的对象
		showCalculaterFrame showCal = new showCalculaterFrame();
		//调用计算器界面的方法
		showCal.initGUI();

	}
	//定义一个计算器界面的方法
	public void initGUI(){
		//实例化一个JFrame类的对象
		javax.swing.JFrame jf = new javax.swing.JFrame();
		//设置窗体的标题属性
		jf.setTitle("计算器");
		//设置窗体的大小属性
		jf.setSize(250,350);
		//设置窗体的位置属性
		jf.setLocation(400,200);
		//设置窗体关闭时退出程序
		jf.setDefaultCloseOperation(3);
		//设置禁止调整窗体的大小
		jf.setResizable(false);
		
		//实例化一个JTextField文本框类的对象
		//javax.swing.JTextField jteName = new javax.swing.JTextField(20);
		//将jteName添加到容器JFrame上
		//jf.add(jteName);
		//实例化一个布局类对象
		java.awt.GridLayout gr = new java.awt.GridLayout(5,4);
		//设置窗体的布局方式为网格布局
		jf.setLayout(gr);
		//实例化十九个个JButton对象、一个JTextField对象
		javax.swing.JButton jb1 = new javax.swing.JButton("1");
		javax.swing.JButton jb2 = new javax.swing.JButton("2");
		javax.swing.JButton jb3 = new javax.swing.JButton("3");
		javax.swing.JButton jb4 = new javax.swing.JButton("4");
		javax.swing.JButton jb5 = new javax.swing.JButton("5");
		javax.swing.JButton jb6 = new javax.swing.JButton("6");
		javax.swing.JButton jb7 = new javax.swing.JButton("7");
		javax.swing.JButton jb8 = new javax.swing.JButton("8");
		javax.swing.JButton jb9 = new javax.swing.JButton("9");
		javax.swing.JButton jb0 = new javax.swing.JButton("0");
		javax.swing.JButton jba = new javax.swing.JButton("+");
		javax.swing.JButton jbb = new javax.swing.JButton("-");
		javax.swing.JButton jbc = new javax.swing.JButton("*");
		javax.swing.JButton jbd = new javax.swing.JButton("/");
		javax.swing.JButton jbe = new javax.swing.JButton("=");
		javax.swing.JButton jbf = new javax.swing.JButton("AC");
		javax.swing.JButton jbg = new javax.swing.JButton("sqrt");
		javax.swing.JButton jbh = new javax.swing.JButton("1/x");
		javax.swing.JButton jbi = new javax.swing.JButton(".");
		javax.swing.JTextField jte = new javax.swing.JTextField();
		//将JButton对象、JTextField对象添加到容器JFrame上
		jf.add(jte);
		jf.add(jbf);
		jf.add(jbg);
		jf.add(jbh);
		jf.add(jb1);
		jf.add(jb2);
		jf.add(jb3);
		jf.add(jba);
		jf.add(jb4);
		jf.add(jb5);
		jf.add(jb6);
		jf.add(jbb);
		jf.add(jb7);
		jf.add(jb8);
		jf.add(jb9);
		jf.add(jbc);
		jf.add(jb0);
		jf.add(jbi);
		jf.add(jbe);
		jf.add(jbd);
		
		//设置窗体是否可见
		jf.setVisible(true);
		
		
		
	}

}

 

0
0
分享到:
评论

相关推荐

    JAVA总结之 简单的SWING界面开发

    NULL 博文链接:https://hugo-vern.iteye.com/blog/1977064

    一本糊涂账-基于Swing和JDBC开发的图形界面桌面应用

    本项目是基于Swing和JDBC开发的图形界面桌面应用,涵盖了J2SE的绝大部分基础知识,通过这个项目能运用和锻炼几乎大部分的J2SE知识和技能。 基础内容: 面向对象 字符串数字 日期 中级内容: 异常 ,集合,JDBC,...

    swing界面设计之JTree

    (一) Spring 开发 Swing GUI 简介——依赖注入和富客户机 5 关于本教程 5 前提条件 6 Spring 和依赖注入概述 7 什么是 Spring 框架? 7 什么是依赖注入? 7 环境设置 7 选择编译环境 7 设置 Ant 8 通过 Ant 自动下载...

    java课设之征名管理系统Swing图形化界面

    java课设之征名管理系统,用swing做的全部界面,内含完整程序源码以及详细注释,课程设计要求,软件需求 分析说明书,课程设计总结报告,活动图、软件原型、用例图的全部原图,已生成jar包和javadoc文档,软件需求...

    swing中文乱码问题(Linux和window)

    swing 开发 Linux和window系统解决乱码参考文档,个人总结,不喜勿碰

    基于设计模式的Java swing交互式界面模式的应用研究与实现

    随着计算机与软件的进步,人机交互...如编辑框,滚动条,弹出菜单等的做法,由此形成了一个开发swing风格界面的 集成界面模板工具。最后,文章结尾总结了提出和研究设计的这套方案在意义和不足,以及进一步的工作。

    基于Swing技术下的酒店客房信息管理系统源码+数据库+WORD毕业论文文档.zip

    本文介绍了酒店客房管理系统的开发过程,详尽论述了需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。 关键词:SWING;MYSQL;信息管理;...

    Java Swing 第三版 英文

    Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件...

    Java Swing仿“酷我音乐盒”界面,搭建简单通用前端框架

    使用java swing技术开发的简易UI框架,整个框架模仿“酷我音乐盒”的皮肤,可以直接基于此搭建桌面项目,也可以拿源代码研究学习...

    Swing开发的固定资产管理系统(完整版+源码)

    是因为运用了swing的一些美观技术,实现起来也非常容易,还总结了Swing的各种控件的用法,尤其是对表(table)树(tree)的实现更经典,运用了很多算法之类的,把重复的代码封装成为通用的,这样可以使开发人员加快...

    基于Swing技术下的酒店客房信息管理系统源码含文档.zip

    本文介绍了酒店客房管理系统的开发过程,详尽论述了需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。 关键词:SWING;MYSQL;信息管理;酒店...

    浅析Java中Swing与SWT和AWT的区别及实现_王亚南

    Swing 和 SWT,AWT 技术都是在 Java 图形化界面设计中常用的开发包,在进行 Java GUI 编程时,大家或许经 常徘徊在 SWT,Swing,AWT 之间选择,哪一个更合适自己? 本文简单介绍了三者中各自的功能特点,以及之间的区别...

    基于java的雷电游戏GUL_swing软件设计源码+WORD毕业论文文档.zip

    基于java的雷电游戏GUL_swing软件设计源码+WORD毕业论文文档. 基于java的雷电游戏基本功能包括:敌方飞机随机飞行、我方飞机手动控制飞行,射击比拼,游戏闯关等。本系统结构如下: (1)雷电游戏状态调整功能: ...

    Swing实现简易版数据库浏览器

    项目背景 目前市面上现有的数据库工具,比较出名的有Navicat、Toad、PLSQL等等,这些工具功能都是比较强大的。...对于普通开发人员来说,这一款数据库浏览器能够满足最基本的需求,系统运行占用内存小、界面友好。

    ZK框架学习总结

    可以做到没有JavaScript,只通过ZUML(ZK User Interface Markup Language)这种标识语言即可做到界面创建和事件响应。 ZK的实现完全用java实现,开发过程中不会有任何的JavaScript代码,但是通过将zul文件(ZK的...

    Java GUI 程序设计:一个使用 Java Swing 设计的日历小程序.zip

    总结来说,【小程序名称】凭借其小巧便携、快捷高效的特性,不仅节省了用户的手机存储空间,更为用户提供了无缝衔接的便利服务,是现代生活中不可或缺的一部分,真正实现了“触手可及”的智能生活新体验。...

    java 编程入门思考

    6.6 递增开发 6.7 上溯造型 6.7.1 何谓“上溯造型”? 6.8 final关键字 6.8.1 final数据 6.8.2 final方法 6.8.3 final类 6.8.4 final的注意事项 6.9 初始化和类装载 6.9.1 继承初始化 6.10 总结 6.11 练习 第7章 ...

    JAVA课程设计-基于mysql的学生信息管理系统.doc

    15 二、 书写习惯养成 15 三、 注意程序简洁 15 总结 16 参考文献 17 附录:项目源代码 18 一、 数据库连接(DbConnection.java) 18 二、 学生信息数据库管理(Student_Dao.java) 18 三、 欢迎界面(Welcome.java...

    Java实验报告——用户登录系统

    1、实验项目名称:用户登录系统 2、实验要求: (1)了解自定义异常的用法; (2)熟悉异常处理机制及创建自定义异常。 3、使用:在了解Java异常机制的基础上自己编写的实验报告。

    《Java程序设计实训》报告 多人聊天室

    其界面主要采用了java.awt包,java.swing包等。程序实现了聊天室的基本功能,其中有: 1.启动服务器。  2.启动登陆界面。  3.进入客户端界面。 4.发送信息。  5.离开客户端界面。  6.关闭服务器

Global site tag (gtag.js) - Google Analytics