您的位置:首页 > 编程语言 > Java开发

Java图形界面——选项卡窗格、面板组件、网格布局

2017-05-22 08:59 609 查看
package com.test.swing;  

  

import java.awt.*;  

import javax.swing.*;  

  

public class QLogin extends JFrame{  

        //定义组件  

        //北部区域  

    JLabel jl1; //放置图片  

      

        //南部区域  

    JButton jb1, jb2, jb3;//登录、取消、注册向导  

    JPanel jp1;//注意:panel面板,pane是窗格  

      

        //中部区域  

    JTabbedPane jtp;// 选项卡窗格  

    JPanel jp2, jp3, jp4;  

        //QQ选项  

    JLabel jl2, jl3, jl4, jl5;//QQ号码、QQ密码、忘记密码、申请保护  

    JTextField jtf; //文本框  

    JPasswordField jpf;//密码框  

    JButton jb4;//清除号码  

    JCheckBox jcb1, jcb2;//隐身登录、记住密码  

        //手机选项  

    JLabel jl2a, jl3a, jl4a, jl5a;//手机号码 、QQ密码、忘记密码、申请保护  

    JTextField jtfa;    //文本框  

    JPasswordField jpfa;//密码框  

    JButton jb4a;//清除号码  

    JCheckBox jcb1a, jcb2a;//隐身登录、记住密码  

      

    public static void main(String[] args) {  

        QLogin testLogin = new QLogin();  

  

    }  

        //构造函数  

    public QLogin(){  

        //创建组件  

            //北部区域  

        jl1 = new JLabel(new ImageIcon("images/QQ.jpg"));  

            //中部区域  

        jtp = new JTabbedPane();    //选项卡窗格  

        //中部QQ JPanel1  

        jp2 = new JPanel();  

        jl2 = new JLabel("QQ号码:", JLabel.CENTER);  

        jl3 = new JLabel("QQ密码:", JLabel.CENTER);  

        jl4 = new JLabel("忘记密码", JLabel.CENTER);  

        jl4.setFont(new Font("宋体", Font.PLAIN, 13));  

        jl4.setForeground(Color.blue);  

        jl5 = new JLabel("<html><a href='www.qq.com'>申请密码保护</a></html>");  

        jcb1 = new JCheckBox("隐身登录");  

        jcb2 = new JCheckBox("记住密码");  

        jtf = new JTextField(18);  

        jpf = new JPasswordField(18);  

        jb4 = new JButton("清除号码");  

          

        //中部手机JPanel2  

        jp3 = new JPanel();  

        jl2a = new JLabel("手机号码:", JLabel.CENTER);  

        jl3a = new JLabel("QQ密 码:", JLabel.CENTER);  

        jl4a = new JLabel("忘记密码", JLabel.CENTER);  

        jl4a.setFont(new Font("宋体", Font.PLAIN, 13));  

        jl4a.setForeground(Color.blue);  

        jl5a = new JLabel("<html><a href='www.qq.com'>申请密码保护</a></html>");  

        jcb1a = new JCheckBox("隐身登录");  

        jcb2a = new JCheckBox("记住密码");  

        jtfa = new JTextField(18);  

        jpfa = new JPasswordField(18);  

        jb4a = new JButton("清除号码");  

          

            //南部区域  

        jp1 = new JPanel();  

        jb1 = new JButton("登录");  

        jb2 = new JButton("取消");  

        jb3 = new JButton("注册向导");  

          

            //设置布局  

        jp2.setLayout(new GridLayout(3, 3));  

          

          

            //添加组件  

        jp1.add(jb1);   //南部  

        jp1.add(jb2);  

        jp1.add(jb3);  

            //中部  

        jp2.add(jl2);     

        jp2.add(jtf);  

        jp2.add(jb4);  

        jp2.add(jl3);  

        jp2.add(jpf);  

        jp2.add(jl4);  

        jp2.add(jcb1);  

        jp2.add(jcb2);  

        jp2.add(jl5);  

          

        //面板3采用网格布局3行3列  

        jp3.setLayout(new GridLayout(3, 3));  

            /*选项卡2,注意:不能图省事,将与jp2面板中的相同组件再加添到jp3面板中, 

                否则jp2的中的组件就会显示在jp3中,jp2就会失去相应的组件*/  

        jp3.add(jl2a);    

        jp3.add(jtfa);  

        jp3.add(jb4a);  

          

        jp3.add(jl3a);  

        jp3.add(jpfa);  

        jp3.add(jl4a);  

          

        jp3.add(jcb1a);  

        jp3.add(jcb2a);  

        jp3.add(jl5a);  

          

        //将面板添加到选项卡窗格  

        jtp.add("QQ号码", jp2);  

        jtp.add("手机号码", jp3);  

        jtp.add("电子邮箱", jp4);  

          

        //加入窗体  

        this.add(jl1, BorderLayout.NORTH);  // 图片标签位于北部  

        this.add(jp1, BorderLayout.SOUTH);  //按钮位于南部  

        this.add(jtp, BorderLayout.CENTER); //选项卡窗格位于中部  

          

        this.setSize(400, 265);  

        this.setResizable(false);   //禁止改变窗体大小  

        this.setTitle("QQ2014");  

        this.setVisible(true);  

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

    }  

  

}  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: