zoukankan      html  css  js  c++  java
  • java---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.简单的登录界面

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

    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

  • 相关阅读:
    带有参数的存储过程
    不实用数据库实现保存和查询功能
    http错误代码(快速了解错误所在)
    ListBox的应用(左边中的信息移至右边)
    省市县三级连动(数据在一个表中)
    简单的实现用户注册时,向其油箱发送激活码邮件,并进行状态处理。 .
    省级三连动(二)
    省市选择期三级联动
    百钱百鸡
    MySQL命令简单应用
  • 原文地址:https://www.cnblogs.com/oumyye/p/4518263.html
Copyright © 2011-2022 走看看