一、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); } }
相关推荐
NULL 博文链接:https://hugo-vern.iteye.com/blog/1977064
本项目是基于Swing和JDBC开发的图形界面桌面应用,涵盖了J2SE的绝大部分基础知识,通过这个项目能运用和锻炼几乎大部分的J2SE知识和技能。 基础内容: 面向对象 字符串数字 日期 中级内容: 异常 ,集合,JDBC,...
(一) Spring 开发 Swing GUI 简介——依赖注入和富客户机 5 关于本教程 5 前提条件 6 Spring 和依赖注入概述 7 什么是 Spring 框架? 7 什么是依赖注入? 7 环境设置 7 选择编译环境 7 设置 Ant 8 通过 Ant 自动下载...
java课设之征名管理系统,用swing做的全部界面,内含完整程序源码以及详细注释,课程设计要求,软件需求 分析说明书,课程设计总结报告,活动图、软件原型、用例图的全部原图,已生成jar包和javadoc文档,软件需求...
swing 开发 Linux和window系统解决乱码参考文档,个人总结,不喜勿碰
随着计算机与软件的进步,人机交互...如编辑框,滚动条,弹出菜单等的做法,由此形成了一个开发swing风格界面的 集成界面模板工具。最后,文章结尾总结了提出和研究设计的这套方案在意义和不足,以及进一步的工作。
本文介绍了酒店客房管理系统的开发过程,详尽论述了需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。 关键词:SWING;MYSQL;信息管理;...
Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件...
使用java swing技术开发的简易UI框架,整个框架模仿“酷我音乐盒”的皮肤,可以直接基于此搭建桌面项目,也可以拿源代码研究学习...
是因为运用了swing的一些美观技术,实现起来也非常容易,还总结了Swing的各种控件的用法,尤其是对表(table)树(tree)的实现更经典,运用了很多算法之类的,把重复的代码封装成为通用的,这样可以使开发人员加快...
本文介绍了酒店客房管理系统的开发过程,详尽论述了需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。 关键词:SWING;MYSQL;信息管理;酒店...
Swing 和 SWT,AWT 技术都是在 Java 图形化界面设计中常用的开发包,在进行 Java GUI 编程时,大家或许经 常徘徊在 SWT,Swing,AWT 之间选择,哪一个更合适自己? 本文简单介绍了三者中各自的功能特点,以及之间的区别...
基于java的雷电游戏GUL_swing软件设计源码+WORD毕业论文文档. 基于java的雷电游戏基本功能包括:敌方飞机随机飞行、我方飞机手动控制飞行,射击比拼,游戏闯关等。本系统结构如下: (1)雷电游戏状态调整功能: ...
项目背景 目前市面上现有的数据库工具,比较出名的有Navicat、Toad、PLSQL等等,这些工具功能都是比较强大的。...对于普通开发人员来说,这一款数据库浏览器能够满足最基本的需求,系统运行占用内存小、界面友好。
可以做到没有JavaScript,只通过ZUML(ZK User Interface Markup Language)这种标识语言即可做到界面创建和事件响应。 ZK的实现完全用java实现,开发过程中不会有任何的JavaScript代码,但是通过将zul文件(ZK的...
总结来说,【小程序名称】凭借其小巧便携、快捷高效的特性,不仅节省了用户的手机存储空间,更为用户提供了无缝衔接的便利服务,是现代生活中不可或缺的一部分,真正实现了“触手可及”的智能生活新体验。...
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章 ...
15 二、 书写习惯养成 15 三、 注意程序简洁 15 总结 16 参考文献 17 附录:项目源代码 18 一、 数据库连接(DbConnection.java) 18 二、 学生信息数据库管理(Student_Dao.java) 18 三、 欢迎界面(Welcome.java...
1、实验项目名称:用户登录系统 2、实验要求: (1)了解自定义异常的用法; (2)熟悉异常处理机制及创建自定义异常。 3、使用:在了解Java异常机制的基础上自己编写的实验报告。
其界面主要采用了java.awt包,java.swing包等。程序实现了聊天室的基本功能,其中有: 1.启动服务器。 2.启动登陆界面。 3.进入客户端界面。 4.发送信息。 5.离开客户端界面。 6.关闭服务器