1. 程式人生 > >JAVA入門到精通-第31講-常見元件

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();