Java 简单的登陆界面

Posted BIsland

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 简单的登陆界面相关的知识,希望对你有一定的参考价值。

  刚接触Java没多久,可能讲的比较浅显,若有不妥之处还望指正~

······创建一个登陆界面类

  类中定义显示界面的函数,类型public void 名字 (我就叫它ShowUI吧);

  一个界面由许多组件组成:包含显示、装饰的图片,账号框,密码框,复选框,按钮等等,这些组件不可能是集合显示的,所以需要一个载体--也称作顶级容器或者窗体,Java中这种类型叫做JFrame(在文件javax.swing.JFrame中,这个其实不用记,如果使用eclipse,可直接将鼠标放在JFrame处,点击就可以自动在首部增加import某文件),这里我就用加上文件名的表示方法:

1   javax.swing.JFrame login_frame = new JFrame();  //创建一个JFrame 对象
2   //接下来就可以设置大小,位置等 利用.set就可以选择到相应的选项
3   login_frame.setSize(650,1050);//长 宽
4      login_frame.setLocationRelativeTo(null);//设置位置,与任何无关,即居中
5   //为了使用户在点击关闭按钮,要加上这句。不然按下关闭按钮时,程序不会退出
6      login_frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); //关闭退出
View Code

 

  在往容器里增加组件时,还需要注意我们要为插入的组件设置一个顺序。本人目前所学的使用FlawLayout类型(流体布局),即按一行行顺序插入组件,当容器的某行塞不下时,自动换到下一行。

1     //布局对象
2         FlowLayout layout = new FlowLayout();
3         //设置窗体的布局为流式布局
4         login_frame.setLayout(layout);
View Code

  接下来,就可以根据自己的设想、需要往容器(窗体)中增加组件了

  ImageIcon: 图片类型

  JLabel :标签类型

  JTextField: 文本输入类型

  JPasswordField:密码输入对象(这样子密码的输入就不可见了)

  JCheckBox:复选框类型

  Dimension:用于设置尺寸的一个类型,使用时创建一个Dimension对象aa,同时设置大小。之后在要设置大小的对象AA后+.setPreferredSize(aa);那么aa的大小尺寸就规范了AA的尺寸。

  所有的这些组件都是通过 窗体.add(组件)来添加。

 1         //开始按顺序在界面上添加元素
 2         
 3         //图片对象
 4         ImageIcon Head = new ImageIcon("C:\\\\Users\\\\贝壳\\\\Desktop\\\\babystone\\\\babystone2.jpg");
 5         //要创建了图片对象要利用标签来显示在在窗体
 6         JLabel icon_label = new JLabel(Head);
 7         //将图片标签添加到窗体(顶级容器)
 8         login_frame.add(icon_label);
 9         
10         //添加一个注册帐号标签
11         JLabel register = new JLabel("登陆帐号");
12         login_frame.add(register);
13         //输入框对象 账号
14         JTextField input_name = new JTextField();
15         //设置尺寸的一个对象
16         Dimension input_size = new Dimension(550,50);
17         input_name.setPreferredSize(input_size);//赋予了大小
18         login_frame.add(input_name); //添加输入账号
19         
20         //添加一个密码标签
21         JLabel key = new JLabel("登陆密码");
22         login_frame.add(key);
23         //设置输入密码对象
24         JPasswordField input_key = new JPasswordField();
25         input_key.setPreferredSize(input_size);
26         login_frame.add(input_key);
27         
28         //JLabel your_choice = new JLabel();
29         //login_frame.add(your_choice);
30         //复选框
31         JCheckBox choice = new JCheckBox("记住我的名字~");
32         JCheckBox choicee = new JCheckBox("记住我的密码~");
33         choicee.setPreferredSize(input_size);
34         choice.setPreferredSize(input_size);
35         login_frame.add(choice);
36         login_frame.add(choicee);
37         
38         
39         
40         //登陆按钮
41         JButton button =new JButton("登陆");
42         Dimension button_size = new Dimension(500,100);
43         button.setPreferredSize(button_size);
44         login_frame.add(button);
View Code

 

  还有个监听器类型(用于判断输入的信息是否正确),在这单独说说,这里我们就要用到Java本身的接口自己写一个类:ActionListener(动作监听器),KeyListener(键盘监听器),MouseListener(鼠标监听器)。由于我们只是在用户点登陆按钮时要执行检查信息输入是否正确,所以关注的是按钮按下的动作,应使用ActionListener。

  使用接口时要加上关键字implements + 接口名

  重写接口函数,emm这里函数类型和名字最好直接复制源码(按住Ctrl再点击函数名就可以看到源码),由于我们要检查的是账号和密码,所以在函数中分别创建两个String变量分别获取两个文本框(这里也要两个JTextField对象来获取用户输入的信息)的信息,然后用if else条件语句来判断后续的操作。

 1 import java.awt.event.ActionEvent;
 2 import java.awt.event.ActionListener;
 3 import java.io.IOException;
 4 
 5 import javax.swing.JTextField;
 6 
 7 public class LoginListener implements ActionListener {
 8     JTextField name_get;
 9     JTextField pass_get;
10     public void actionPerformed(ActionEvent e){
11           String name = name_get.getText();
12           String key = pass_get.getText();
13           //成功匹配使用equal操作
14           if(name.equals("Bankarian") && key.equals("123456")){
15               System.out.println("SUCCESS !");
16 //这个是跳转到网页的函数
17               Runtime run = Runtime.getRuntime();
18                 try {
19                     run.exec("explorer https://www.cnblogs.com/GorgeousBankarian/");
20                 } 
21                 catch (IOException exec) {
22                     // TODO Auto-generated catch block
23                     exec.printStackTrace();
24                 }
25           }
26           //匹配不成功
27           else{
28               if(name.equals("Bankarian")){
29                   System.out.println("PASSWORD ERRO");
30                   
31               }
32               else{
33                   System.out.println("NAME ERRO");
34               }
35           }
36       }
37       
38 }
View Code

  哈哈,最后一步,也是最重要的一步:设置窗体可见,不然是不会显示的哦~(本人就曾傻傻地卡在这里~)

  login_frame.setVisible(true); 

  接着主函数走起,FINISHED!

  

以上是关于Java 简单的登陆界面的主要内容,如果未能解决你的问题,请参考以下文章

Java 简单的登陆界面

java 24 - 11 GUI之制作登陆注册页面

用java做好的登陆界面,当登陆成功后跳转到下个页面的代码是啥?

用java写一个登陆界面代码。

java实现简单登录界面

用java写一个登陆界面代码。