java---Swing界面开发总结

摘要:
Javax。摆动JFrame 3.通用布局1.布局类只能在容器中使用。设置布局时,需要使用setLayout()BorderLayout边框布局FlowLayout流式布局GridLayout网格布局。这三种类型都是awt包下的类。Java语言awt.***布局4.简单登录界面的实现1.创建一个xxx类并定义类中的主函数。注意:setDefaultCloseOperation()是括号中的可选数字,3表示关闭时退出程序。当程序继续工作时,1被隐藏,2被关闭。setSize()大小是像素的大小。

一、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.简单的登录界面

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

Java代码  

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);  
    }  
          
     
} 
   
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.简单的计算器界面

分析:使用网格布局。

Java代码  

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);  
              
              
              
    }  
     
}

  转自:http://www.bdqn.cn/news/201307/10424.shtml

免责声明:文章转载自《java---Swing界面开发总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux内核分析:实验八--Linux进程调度与切换如何将plist图片分解成单图下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

问题:Swiper父容器隐藏时实例化组件,组件滑动失效

解决办法:初始化组件时,配置 observe true、observeParents true。 observe参数 启动动态检查器(OB/观众/观看者),当改变swiper的样式(例如隐藏/显示)或者修改swiper的子元素时,自动初始化swiper。 observeParents参数 将observe应用于Swiper的父元素。当Swiper的父...

前端经典面试题解密:JS的new关键字都干了什么?

前言 new关键字在实例化获取对象时都做了什么?是一道经常出现在前端面试时的问题。如果只是简单的了解new关键字是实例化构造函数获取对象,是万万不能够的。更深入的层级发生了什么呢?同时面试官想从这道题里面考察什么呢?下面胡哥为各位小伙伴一一来解密。 一、new关键字 new关键字的作用:通过new关键字实例化构造函数,获取对象。说一千道一万,不如来段代码看...

用python做一个搜索引擎(Pylucene)

什么是搜索引擎? 搜索引擎是“对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集、信息整理和用户查询三部分”。如图1是搜索引擎的一般结构,信息搜集模块从网络采集信息到网络信息库之中(一般使用爬虫);然后信息整理模块对采集的信息进行分词、去停用词、赋权重等操作后建立索引表(一般是倒排索引)构成索引库;最后用户查询模块就可以识别用户的检索需求并提...

【python系统学习13】类(class)与对象(object)

目录: 类(class)和实例 类 实例 小测试 对象(object) 属性和方法 类的创建 伪代码 示例代码 属性(attribute) 方法(method) 类的实例化 实例对象调用类属性和方法 调用类的属性 调用类的方法 示例代码 特殊参数:self 1、代指实例化对象的作用 2、定义方法必传self 3、调用方法传参时sel...

Java Swing实战(四)按钮组件JButton及其事件监听

接下来为面板添加保存按钮,并为按钮绑定事件监听。 /** * @author: lishuai * @date: 2018/11/26 13:51 */ public class WeimingSyncApplets { public static void main(String[] args) { // 面板组件...

JAVA Swing开发单机版项目

一、序   最近公司做的项目里出现了一个新的需求,项目大部分是为金融业定制开发的数据集成平台,包括数据的采集,处理,使用。   数据的采集方式不固定,有机构化数据,有非结构话数据,还有附件等其它文件形式。   对于采集端,大部分要求具备硬件服务器架设能力,这时就出现了一个问题,有些采集端是不具备硬件服务器架设能力的,或者主观上不愿意架设,   要求公司拿...