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

Posted 夏至稻花如白练,大暑池畔赏红莲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
}
 
















以上是关于JAVA入门到精通-第31讲-常见组件的主要内容,如果未能解决你的问题,请参考以下文章

JAVA入门到精通-第35讲-事件处理-坦克大战3

JAVA入门到精通-第69讲-学生管理系统1.项目分析

JAVA入门到精通-第1讲

JAVA入门到精通-第40讲-线程

JAVA入门到精通-第72讲-学生管理系统4-model 2模式

JAVA入门到精通-第76讲-满汉楼系统3-实现闪屏登录