JAVA入門到精通-第31講-常見元件
阿新 • • 發佈:2018-11-30
面板元件-Jpanel
一個JFrame,多個JPanel; JPanel預設是流佈局;FlowLayout; 通過JPanel達到複雜佈局的目的;
可以認為是網格佈局,有3個JPanel;2個Label;2個按鈕; 一個密碼框和一個文字輸入框;
最後,在主函式裡面建立物件例項進行構造;
JComboBox:
JList:
面板元件(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();