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