• JAVA入门到精通-第31讲-常见组件



    面板组件-Jpanel

     一个JFrame,多个JPanel;
    JPanel默认是流布局;FlowLayout;
     通过JPanel达到复杂布局的目的;

     
     可以认为是网格布局,有3个JPanel;2个Label;2个按钮;
      一个密码框和一个文本输入框;
     
     
    最终展现出来的还是靠JFrame展现的
     
     
     网格布局好点,3个JPanel,用流布局,控件往里加;
     ButtonGroup按钮组;一组里面只能选择一个;
     
     
     
     对单选框管理,就是把它加入到ButtonGroup里面;
     单选框也是一个个放进JPanel的;

      
      最后把JPanel全部加入到JFrame里面:

      
      最后,在主函数里面创建对象实例进行构造;

     
    JComboBox:
     
    JList:
     

     
     
     JScrollPane/JList:
    最大显示的是在JList里,添加是在JScroll;
     
     
    Swing组件--面板组件
    面板组件(JPanel)--介绍
    在图形用户界面编程中,如果只是普通的组件布局,我们用前面讲的三种布局管理器就可以解决,但在比较复杂的布局要求时,就需要使用布局管理器的组合使用。

    面板组件(JPanel)--使用[Window005.java]
    JPanel:面板组件,非顶层容器,一个界面只可以有一个JFrame窗体组件,但可以有多个JPanel面板组件,而JPanel上也可以使用FlowLayout、BorderLayout、GirdLayout等各种布局管理器,这样可以组合使用达到较为复杂的布局效果。
    xxxxxxxxxx
    46
     
    1
    /**
    2
    * 多种布局管理器,面板组件(JPanel)--使用
    3
    */
    4
    import java.awt.*;
    5
    import javax.swing.*;
    6
    public class Window005 extends JFrame{
    7
        //定义组件
    8
        JPanel jp1,jp2;
    9
        JButton jb1,jb2,jb3,jb4,jb5,jb6;
    10
        public static void main(String[] args) {
    11
            Window005 win=new Window005();
    12
        }
    13
        //构造函数
    14
        public Window005(){
    15
            //创建组件
    16
            jp1=new JPanel();//JPanel布局默认是FlowLayout流布局
    17
            jp2=new JPanel();
    18
            
    19
            jb1=new JButton("西瓜");
    20
            jb2=new JButton("苹果");
    21
            jb3=new JButton("荔枝");
    22
            jb4=new JButton("葡萄");
    23
            jb5=new JButton("桔子");
    24
            jb6=new JButton("香蕉");
    25
            
    26
            //设置布局管理器(Jpanel默认流布局)
    27
            
    28
            //添加JPanel
    29
            jp1.add(jb1);
    30
            jp1.add(jb2);
    31
            jp2.add(jb3);
    32
            jp2.add(jb4);
    33
            jp2.add(jb5);
    34
            
    35
            //把Panel加入JFrame
    36
            this.add(jp1, BorderLayout.NORTH);
    37
            this.add(jb6, BorderLayout.CENTER);
    38
            this.add(jp2, BorderLayout.SOUTH);
    39
            
    40
            //设置窗体
    41
            this.setSize(300, 250);//窗体大小
    42
            this.setLocation(200, 200);//屏幕显示初始位置
    43
            this.setVisible(true);//显示
    44
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出窗体后将JFrame同时关闭
    45
        }
    46
    }
     
    ------------------------------------------------------------------------------
    面板(JPanel)组件--注意事项
    1、JPanel是JComponent的子类;
    2、属于容器类组件,可以加入别的组件;
    3、默认布局管理器是流式布局(FlowLayout)

    Swing组件--文本框/密码框/标签组件[Window006.java]
    几个常用组件
    在图形用户界面编程中,我们常常会提供用户登录界面,比如登录到会员管理系统,登录到工资管理系统、仓库管理系统等。这时候我们就会用到:
    1、文本框(JTextField)
    2、密码框(JPasswordField)
    3、标签(JLable)

    xxxxxxxxxx
    62
     
    1
    /**
    2
    * Swing组件--文本框(JTextField)/密码框(JPasswordField)/标签(JLable)组件使用
    3
    */
    4
    import java.awt.*;
    5
    import javax.swing.*;
    6
    public class Window006 extends JFrame{
    7
        //定义组件
    8
        JPanel jp1,jp2,jp3;//面板
    9
        JLabel jlb1,jlb2;//标签
    10
        JButton jb1,jb2;//按钮
    11
        JTextField jtf;//文本
    12
        JPasswordField jpf;//密码
    13
        public static void main(String[] args) {
    14
            Window006 win=new Window006();
    15
        }
    16
        
    17
        //构造函数
    18
        public Window006(){
    19
            //创建面板
    20
            jp1=new JPanel();
    21
            jp2=new JPanel();
    22
            jp3=new JPanel();
    23
            //创建标签
    24
            jlb1=new JLabel("用户名");
    25
            jlb2=new JLabel("密    码");
    26
            //创建按钮
    27
            jb1=new JButton("登录");
    28
            jb2=new JButton("取消");
    29
            //创建文本框
    30
            jtf=new JTextField(10);
    31
            //创建密码框
    32
            jpf=new JPasswordField(10);
    33
            
    34
            //设置布局管理
    35
            this.setLayout(new GridLayout(3, 1));//网格式布局
    36
            
    37
            //加入各个组件
    38
            jp1.add(jlb1);
    39
            jp1.add(jtf);
    40
            
    41
            jp2.add(jlb2);
    42
            jp2.add(jpf);
    43
            
    44
            jp3.add(jb1);
    45
            jp3.add(jb2);
    46
            
    47
            //加入到JFrame
    48
            this.add(jp1);
    49
            this.add(jp2);
    50
            this.add(jp3);
    51
            
    52
            //设置窗体
    53
            this.setTitle("用户登录");//窗体标签
    54
            this.setSize(300, 150);//窗体大小
    55
            this.setLocationRelativeTo(null);//在屏幕中间显示(居中显示)
    56
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出关闭JFrame
    57
            this.setVisible(true);//显示窗体
    58
            
    59
            //锁定窗体
    60
            this.setResizable(false);
    61
        }
    62
    }
    ------------------------------------------------------------------------------
    Swing组件--复选框/单选框组件[Window007.java]
    几个常用组件
    在图形用户界面编程中,我们常常会提供用户注册界面,这时候我们就会用到:
    1、复选框组件(JCheckBox)
    2、单选框组件(JRadioButton)
    特别说明:
        同一组单选按钮必需先创建ButtonGroup,然后把单选框组件放入到ButtonGroup中
    xxxxxxxxxx
    69
     
    1
    /**
    2
    * 复选框组件(JCheckBox)和单选框组件(JRadioButton)使用
    3
    */
    4
    import java.awt.*;
    5
    import javax.swing.*;
    6
    public class Window007 extends JFrame{
    7
        //定义组件
    8
        JPanel jp1,jp2,jp3;
    9
        JLabel jl1,jl2;
    10
        JCheckBox jcb1,jcb2,jcb3;
    11
        JRadioButton jrb1,jrb2;
    12
        ButtonGroup bg;
    13
        JButton jb1,jb2;
    14
        public static void main(String[] args) {
    15
            Window007 win=new Window007();
    16
        }
    17
        //构造函数
    18
        public Window007(){
    19
            //创建组件
    20
            jp1=new JPanel();
    21
            jp2=new JPanel();
    22
            jp3=new JPanel();
    23
            
    24
            jl1=new JLabel("你最喜欢的运功:");
    25
            jl2=new JLabel("你的性别:");
    26
            
    27
            jcb1=new JCheckBox("足球");
    28
            jcb2=new JCheckBox("篮球");
    29
            jcb3=new JCheckBox("网球");
    30
            
    31
            jrb1=new JRadioButton("男");
    32
            jrb2=new JRadioButton("女");
    33
            
    34
            jb1=new JButton("注册用户");
    35
            jb2=new JButton("取消注册");
    36
            
    37
            //一定要把jrb1与jrb2放入到一个ButtonGroup中
    38
            ButtonGroup bg=new ButtonGroup();
    39
            bg.add(jrb1);
    40
            bg.add(jrb2);
    41
            
    42
            //创建布局
    43
            this.setLayout(new GridLayout(3, 1));
    44
            
    45
            //加入组件
    46
            jp1.add(jl1);
    47
            jp1.add(jcb1);
    48
            jp1.add(jcb2);
    49
            jp1.add(jcb3);
    50
            
    51
            jp2.add(jl2);
    52
            jp2.add(jrb1);
    53
            jp2.add(jrb2);
    54
            
    55
            jp3.add(jb1);
    56
            jp3.add(jb2);
    57
            
    58
            this.add(jp1);
    59
            this.add(jp2);
    60
            this.add(jp3);
    61
    62
            //设置窗体
    63
            this.setTitle("用户注册");
    64
            this.setSize(300, 150);
    65
            this.setLocationRelativeTo(null);
    66
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    67
            this.setVisible(true);
    68
        }
    69
    }
     
    ------------------------------------------------------------------------------
    Swing组件--下拉框/列表框/流动空格组件[Window008.java]
    在图形用户界面编程中,我们常常会提供用户调查界面,这个时候我们会用到:
    1、下拉框组件(JComboBox)
    2、列表框组件(JList)
    3、滚动窗格组件(JScrollPane)
    特别说明:
        一般来说,列表框组件+滚动窗格组件是结合使用的。目的是让列表框中的选项可以有滚动条支持。
    x
     
    1
    /**
    2
    * 下拉框(JComboBox)/列表框(JList)/滚动空格(JScrollPane)的使用
    3
    */
    4
    import java.awt.*;
    5
    import javax.swing.*;
    6
    public class Window008 extends JFrame{
    7
        //定义组件
    8
        JPanel jp1,jp2;
    9
        JLabel jl1,jl2;
    10
        JComboBox jcb;
    11
        JList jl;
    12
        JScrollPane jsp;
    13
        public static void main(String[] args) {
    14
            Window008 win=new Window008();
    15
        }
    16
        //构造函数
    17
        public Window008(){
    18
            //建立组件
    19
            jp1=new JPanel();
    20
            jp2=new JPanel();
    21
            
    22
            jl1=new JLabel("你的籍贯:");
    23
            jl2=new JLabel("旅游地点:");
    24
            
    25
            String[] jg={"北京","上海","天津","火星"};
    26
            jcb=new JComboBox(jg);
    27
            
    28
            String[] dd={"长城","东方明珠","海河","什么什么"};
    29
            jl=new JList(dd); 
    30
            //设置你希望显示多少个选项
    31
            jl.setVisibleRowCount(2);//滚动条显示setVisibleRowCount(?)?为显示条数
    32
            jsp=new JScrollPane(jl);
    33
    34
            //设定布局
    35
            this.setLayout(new GridLayout(3, 1));
    36
            
    37
            //加入组件
    38
            jp1.add(jl1);
    39
            jp1.add(jcb);
    40
            
    41
            jp2.add(jl2);
    42
            jp2.add(jsp);
    43
            
    44
            this.add(jp1);
    45
            this.add(jp2);
    46
            
    47
            //设置窗体
    48
            this.setTitle("用户注册");
    49
            this.setSize(300, 300);
    50
            this.setLocationRelativeTo(null);
    51
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    52
            this.setVisible(true);
    53
        }
    54
    }
     
















  • 相关阅读:
    47-python基础-python3-字符串-常用字符串方法(五)-rjust()-ljust()-center()
    46-python基础-python3-字符串-常用字符串方法(四)-join()-split()
    45-python基础-python3-字符串-常用字符串方法(三)-startswith()-endswith()
    44-python基础-python3-字符串-常用字符串方法(二)-isalpha()-isalnum()-isdigit()-isspace()-istitle()
    43-python基础-python3-字符串-常用字符串方法(一)-upper()-lower()-isupper()-islower()
    42-python基础-python3-字符串-原始字符串
    40-python基础-python3-字典常用方法-setdefault()
    39-python基础-python3-字典常用方法-get()
    38-python基础-python3-检查字典中是否存在键或值
    HTTP协议详解
  • 原文地址:https://www.cnblogs.com/xuxaut-558/p/10045687.html
Copyright © 2020-2023  润新知