Java——簡單登錄界面實現


  我們要在Java中實現一個界面,首先就要解決一個問題:一個界面都有什么?比如我們的QQ登錄界面:

  很明顯我們可以看到:輸入框、按鈕 、文字、圖片 、標題欄、窗體、復選框。

  我們把它們按照功能分類可以分為:容器、組件和元素。

      容器:可以加載其他組件/控件,上述窗體為頂級容器。

      組件:輸入框、按鈕、滑桿、菜單、選項卡、選擇器、文字和圖片等。

      元素:尺寸 、顏色、字體、布局。

  清楚了上述概念,我們才可以規划我們建立一個界面的步驟:

      1. 建立容器對象

      2. 設置容器對象的屬性值 、設置布局

      3. 添加組件(創建對象、設置屬性、添加到對應容器上)

      4. 可視化

  我們在這里要用到的兩個包分別是java.awt和java.swing,前者是早期界面開發包,后者是升級后的可視化包。

  下面附上代碼:

  

 1 import javax.swing.*;
 2 import java.awt.*;
 3 
 4 public class LoginUI extends JFrame{
 5     public static void main(String[] args) {
 6         LoginUI U = new LoginUI();
 7         U.initUI();
 8     }
 9     public void initUI()
10     {
11         //建立窗體
12         this.setSize(400, 550);                             //窗體大小
13         this.setTitle("登錄界面");                          //標題
14         this.setDefaultCloseOperation(EXIT_ON_CLOSE);       //退出界面即關閉程序
15         this.setLocationRelativeTo(null);                   //窗體生成位置變為中央
16         
17         //流式布局
18         FlowLayout fl = new FlowLayout();
19         this.setLayout(fl);
20         
21         //組件
22         ImageIcon img = new ImageIcon("C:\\Users\\admin\\Desktop\\頭像.jpeg");   //圖片
23         JButton bu = new JButton("Login");                                       //按鈕
24         JTextField nameJTF = new JTextField();                                   //文字輸入框
25         JPasswordField passwordJTF = new JPasswordField();                       //密碼輸入框
26         JCheckBox jcb = new JCheckBox("確認已閱讀《用戶隱私條款》");              //復選框
27         
28         JLabel Img = new JLabel(img);                                            //圖片標簽(載體)
29         JLabel name = new JLabel("賬號:");                                      //文字標簽
30         JLabel password = new JLabel("密碼:");                                  //文字標簽
31         
32         Dimension D = new Dimension(300,20);                                     //輸入框大小
33         nameJTF.setPreferredSize(D);
34         passwordJTF.setPreferredSize(D);
35         
36         //添加組件
37         this.add(Img);
38         
39         this.add(name);
40         this.add(nameJTF);
41         
42         this.add(password);
43         this.add(passwordJTF);
44         
45         this.add(bu);
46         this.add(jcb);
47         
48         //可視化
49         this.setVisible(true);    
50         
51         //復選框接口
52         CheckBoxListener LoginC = new CheckBoxListener();
53         jcb.addChangeListener(LoginC);
54         
55         //
56         CBActionListener LoginCBA = new CBActionListener();
57         jcb.addActionListener(LoginCBA);
58         
59         //接口
60         LoginListener Loginl = new LoginListener();
61         bu.addActionListener(Loginl);
62         Loginl.namein = nameJTF;
63         Loginl.passwordin = passwordJTF;
64         
65     }
66 }

  我們先不去管復選框接口以后的代碼,這些都是為了實現事件監聽功能用的,我們在這里只需要生成一個界面。首先建立窗體我們必須要用到的一個類是JFrame,在這里我選擇了用繼承的方式寫這段代碼,當然還有另外一種寫法就是不繼承JFrame:

   直接用Jframe創建對象:

1         JFrame jf = new JFrame();
2     jf.setTitle("登錄");
3     jf.setSize(500,700);// 寬 高  單位 像素 
4     jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 關閉時退出進程 
5     jf.setLocationRelativeTo(null);// 居中顯示            

 

  可以看到我們生成組件的時候有圖片(IamgeIcon)、按鈕(JButton)、輸入框(JTextField、JPasswordField)、復選框(JCheckBox)我們在創建相應的對象時,可以在構造函數里放入字符串,比如按鈕,最后按鈕上的文字就是是輸入的字符串。

  圖片IamgeIcon后面則是你想要的生成的圖片的絕對路徑。除此之外,要把文字和圖片添加到界面上必須要用標簽(JLabel)。為這些組件設置屬性,我們會用到的是Dimension,我們上面只設置了輸入框的大小。

  創建完組件,因為我們用的是流式布局。它的特點是:將組件按從左到右從上到下依次排列,放不下則自動換行。所以我們要提前設計好將組件添加到窗體上面的順序。

  最后一步:可視化(沒有這步最后什么都看不到)。

  看看最后的效果:


  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM