Java用戶登陸界面例子 代碼

轉自http://www.cnblogs.com/liwustore/archive/2013/01/01/2841492.html

好久沒有總結這個月的學習了,先嘮叨幾句,這個月工作爛的一塌糊塗。跟老闆吵架,然後辭職。今天是遞交辭職申請的倒數第三天。

Java用戶登陸這塊,主要還是學到了新的類:

1,邊界佈局:BorderLayout。他主要分爲五個佈局,是JFrame(頂層容器),JDialog(創建對話框窗口的類)的默認佈局方式。其最多容量爲5個組件,超出5個得用其他的。設置方式爲:BorderLayout.NORTH;BorderLayout.SOUTH;BorderLayout.CENTER;Borderlayout.CENTER;BorderLayout.LEFT;BorderLayout.RIGHT。

2,流式佈局:FlowLayout。佈局方式爲從左到右,從上到下。是JPanel(輕量級容器)的默認面板佈局。

3,網格佈局:GridLayout。佈局方式爲行和列組成的網絡。佈局方法:setLayout(new GridLayout(3,2,3,3));其中強兩位數字表示三行兩列,後兩位表示行與行的間距爲3,列與列的間距爲3.

接着,就接觸到JPanel面板。JPanel是非頂層容器,所以,一個界面只能由一個JFrame,但是可以有多個JPanel組件。其默認佈局方式爲流式佈局。在JPanel這塊,學到了用戶登錄界面的設計。從而接觸到另外三個組件:文本框組件:JTextField;密碼框組件:JPasswordField;標籤組件:JLabel;複選框組件:JCheckBox;單選框組件:JRadioButton;按鈕組件JButton。

根據上面的組件和佈局方式,我試着做了如下效果的一些代碼:

1,用戶登陸界面:

具體代碼如下:

複製代碼
 1 import javax.swing.*;
 2 
 3 import java.awt.*;   //導入必要的包
 4 
 5 public class denglu extends JFrame{
 6     JTextField jTextField ;  //定義文本框組件
 7     JPasswordField jPasswordField;    //定義密碼框組件
 8     JLabel jLabel1,jLabel2;
 9     JPanel jp1,jp2,jp3;
10     JButton jb1,jb2;     //創建按鈕
11     public denglu(){
12         jTextField = new JTextField(12);
13         jPasswordField = new JPasswordField(13);
14         jLabel1 = new JLabel("用戶名");
15         jLabel2 = new JLabel("密碼");
16         jb1 = new JButton("確認");
17         jb2 = new JButton("取消");
18         jp1 = new JPanel();
19         jp2 = new JPanel();
20         jp3 = new JPanel();
21         
22         //設置佈局
23         this.setLayout(new GridLayout(3,1));
24         
25         jp1.add(jLabel1); 
26         jp1.add(jTextField);//第一塊麪板添加用戶名和文本框 
27         
28         jp2.add(jLabel2);
29         jp2.add(jPasswordField);//第二塊面板添加密碼和密碼輸入框
30         
31         jp3.add(jb1);
32         jp3.add(jb2); //第三塊面板添加確認和取消
33         
34         //        jp3.setLayout(new FlowLayout());    //因爲JPanel默認佈局方式爲FlowLayout,所以可以註銷這段代碼.
35         this.add(jp1);
36         this.add(jp2);
37         this.add(jp3);  //將三塊面板添加到登陸框上面
38         //設置顯示
39         this.setSize(300, 200);
40         //this.pack();
41         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
42         this.setVisible(true);
43         this.setTitle("登陸");
44          
45     }
46     public static void main(String[] args){
47         new denglu();
48     }
49 }
複製代碼

2,根據複選框組件等其他組件,又寫了用戶調查界面:

具體代碼:

複製代碼
 1 import javax.swing.ButtonGroup;
 2 import javax.swing.JCheckBox;
 3 import javax.swing.JFrame;
 4 import javax.swing.JLabel;
 5 import javax.swing.JPanel;
 6 import javax.swing.JRadioButton;
 7 
 8 import java.awt.*;
 9 
10 public class diaocha extends JFrame{
11     JCheckBox jcb1,jcb2,jcb3;
12     JRadioButton jrb1,jrb2;
13     JLabel jLabel1,jLabel2;
14     JPanel jp1,jp2;
15     public diaocha(){
16         jcb1 = new JCheckBox("華商報");
17         jcb2 = new JCheckBox("三秦都市報");
18         jcb3 = new JCheckBox("西安晚報");
19         jrb1 = new JRadioButton("男");
20         jrb2 = new JRadioButton("女");
21         jLabel1 = new JLabel("您最常讀的報紙");
22         jLabel2 = new JLabel("您的性別");
23         jp1 = new JPanel();
24         jp2 = new JPanel();
25         //設置佈局
26         this.setLayout(new GridLayout(2, 1));
27         //添加組件
28         jp1.add(jLabel1);
29         jp1.add(jcb1);
30         jp1.add(jcb2);
31         jp1.add(jcb3);
32         jp2.add(jLabel2);
33         //現在這樣的話,最後還是會對性別進行全部選擇的。所以添加按鈕對象,對同一組單選按鈕驚醒分組
34         ButtonGroup bGroup = new ButtonGroup();
35         bGroup.add(jrb1);
36         bGroup.add(jrb2);
37         jp2.add(jrb1);
38         jp2.add(jrb2);
39         this.add(jp1);
40         this.add(jp2);
41         
42         //設置展示面板
43         this.setVisible(true);
44         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
45         this.setSize(200, 200);
46     }
47     public static void main(String[] args){
48         new diaocha();
49     }
50 }
複製代碼

發佈了33 篇原創文章 · 獲贊 40 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章