首页 > 编程语言 >用户登录图形化界面(java)

用户登录图形化界面(java)

时间:2023-09-17 21:36:40浏览次数:47  
标签:JFrame 界面 import public add new java jf 图形化

一、题目

 二、源码

(1)USER类(定义用户,包括username,password)

 1 package picture;
 2 
 3 public class USER {
 4     private String username;
 5     private String password;
 6 
 7     public USER(String username, String password) {
 8         this.username = username;
 9         this.password = password;
10     }
11 
12     public USER() {
13     }
14 
15     public String getUsername() {
16         return username;
17     }
18 
19     public void setUsername(String username) {
20         this.username = username;
21     }
22 
23     public String getPassword() {
24         return password;
25     }
26 
27     public void setPassword(String password) {
28         this.password = password;
29     }
30 }

(2)registerJFrame类(用来控制注册)

 1 package picture;
 2 
 3 import javax.swing.*;
 4 import java.awt.*;
 5 import java.awt.event.ActionEvent;
 6 import java.awt.event.ActionListener;
 7 import java.util.ArrayList;
 8 
 9 public class registerJFrame extends JFrame {
10     static ArrayList<USER> list=new ArrayList<>();
11 
12 
13 
14 
15     public registerJFrame(){
16         JFrame jf=new JFrame();
17         jf.setSize(450,300);
18         //点击x后只关闭此界面
19         jf.setDefaultCloseOperation(2);
20         jf.setLocationRelativeTo(null);
21         FlowLayout flow=new FlowLayout();
22         jf.setLayout(flow);
23         //创建账号框
24         JLabel user=new JLabel("账号:");
25         jf.add(user);
26         JTextField jtf=new JTextField();
27         Dimension dm=new Dimension(360,25);
28         jtf.setPreferredSize(dm);
29         jf.add(jtf);
30         //创建密码框
31         JLabel user1=new JLabel("密码:");
32         jf.add(user1);
33         JTextField jtf1=new JTextField();
34         Dimension dm1=new Dimension(360,25);
35         jtf1.setPreferredSize(dm1);
36         jf.add(jtf1);
37 
38 
39         //创建注册按钮
40         JButton jbu=new JButton("快速注册");
41         jf.add(jbu);
42         jbu.addActionListener(new ActionListener() {
43             @Override
44             public void actionPerformed(ActionEvent e) {
45                 //在点完按钮后再添加到集合中
46                 //添加用户到集合list中
47                 USER temp=new USER(jtf.getText(),jtf1.getText());
48                 list.add(temp);
49                 JFrame j=new JFrame();
50                 j.setSize(300,100);
51                 j.setLocationRelativeTo(null);
52                 //只关闭此界面
53                 j.setDefaultCloseOperation(2);
54                 JButton jbu1=new JButton("注册成功");
55                 j.add(jbu1);
56                 jbu1.addActionListener(new ActionListener() {
57                     @Override
58                     public void actionPerformed(ActionEvent e) {
59                         j.dispose();
60                         jf.dispose();
61                     }
62                 });
63                 j.setVisible(true);
64             }
65         });
66         jf.setVisible(true);
67     }
68 
69 }

(3)loginJFrame类(用来控制用户登录)

 1 package picture;
 2 
 3 import javax.swing.*;
 4 import java.awt.*;
 5 import java.awt.event.ActionEvent;
 6 import java.awt.event.ActionListener;
 7 import java.util.ArrayList;
 8 
 9 public class registerJFrame extends JFrame {
10     static ArrayList<USER> list=new ArrayList<>();
11 
12 
13 
14 
15     public registerJFrame(){
16         JFrame jf=new JFrame();
17         jf.setSize(450,300);
18         //点击x后只关闭此界面
19         jf.setDefaultCloseOperation(2);
20         jf.setLocationRelativeTo(null);
21         FlowLayout flow=new FlowLayout();
22         jf.setLayout(flow);
23         //创建账号框
24         JLabel user=new JLabel("账号:");
25         jf.add(user);
26         JTextField jtf=new JTextField();
27         Dimension dm=new Dimension(360,25);
28         jtf.setPreferredSize(dm);
29         jf.add(jtf);
30         //创建密码框
31         JLabel user1=new JLabel("密码:");
32         jf.add(user1);
33         JTextField jtf1=new JTextField();
34         Dimension dm1=new Dimension(360,25);
35         jtf1.setPreferredSize(dm1);
36         jf.add(jtf1);
37 
38 
39         //创建注册按钮
40         JButton jbu=new JButton("快速注册");
41         jf.add(jbu);
42         jbu.addActionListener(new ActionListener() {
43             @Override
44             public void actionPerformed(ActionEvent e) {
45                 //在点完按钮后再添加到集合中
46                 //添加用户到集合list中
47                 USER temp=new USER(jtf.getText(),jtf1.getText());
48                 list.add(temp);
49                 JFrame j=new JFrame();
50                 j.setSize(300,100);
51                 j.setLocationRelativeTo(null);
52                 //只关闭此界面
53                 j.setDefaultCloseOperation(2);
54                 JButton jbu1=new JButton("注册成功");
55                 j.add(jbu1);
56                 jbu1.addActionListener(new ActionListener() {
57                     @Override
58                     public void actionPerformed(ActionEvent e) {
59                         j.dispose();
60                         jf.dispose();
61                     }
62                 });
63                 j.setVisible(true);
64             }
65         });
66         jf.setVisible(true);
67     }
68 
69 }

(4)main方法

 1 package picture;
 2 
 3 import javax.swing.*;
 4 import java.util.ArrayList;
 5 import java.util.Random;
 6 
 7 public class picture1 {
 8     public static void main(String[] args) {
 9         new loginJFrame();
10 
11     }
12 
13 }

三、运行结果

(1)注册

 

 

(2)登录

①成功

 ②失败

 四、总结

(1)需要在一个板块下的多个类中使用同一组数据时,可以将该数据声明为static,然后调用时为方法名.数据名

例:

1 public class registerJFrame extends JFrame {
2     static ArrayList<USER> list=new ArrayList<>();
3 }

 

在另一个类中调用时

 1 for (int i = 0; i < registerJFrame.list.size(); i++) { 2 USER temp=registerJFrame.list.get(i); 3 } 

(2)图形化界面的一些基本操作

 1         JFrame jf=new JFrame();
 2         //设置界面大小
 3         jf.setSize(450,550);
 4         //设置界面标题
 5         jf.setTitle("登录界面");
 6         //设置关闭方式
 7         jf.setDefaultCloseOperation(3);
 8         //设置界面居中
 9         jf.setLocationRelativeTo(null);
10         //设置窗体组件布局风格(流体,左右排布)
11         FlowLayout flow=new FlowLayout();
12         jf.setLayout(flow);
13      //显示可视化界面
14      jf.setVisible(true);

①添加一个输入框

1         //添加账号框
2         JLabel user=new JLabel("账号:");
3         jf.add(user);
4         JTextField jtf=new JTextField();
5         Dimension dm=new Dimension(360,25);
6         jtf.setPreferredSize(dm);
7         jf.add(jtf);

②退出一个界面

 1 JFrame jf=new JFrame();

2 jf.dispose()

③得到输入框中输入的数据

1         JLabel user2=new JLabel("验证码:");
2         jf.add(user2);
3         JTextField jtf2=new JTextField();
4         Dimension dm2=new Dimension(260,25);
5         jtf2.setPreferredSize(dm2);
6         jf.add(jtf2);
7         String s=jtf.getText();

④给图形化界面中的按钮(Button)添加监视(也就是点击按钮实现的功能)

1         JButton jbu1=new JButton("注册");
2         jf.add(jbu1);
3         jbu1.addActionListener(new ActionListener() {
4             @Override
5             public void actionPerformed(ActionEvent e) {
6                 new registerJFrame();
7             }
8         });

 

(3)StringBuiler类

1 StringBuilder sb=new StringBuilder();
2         for (int i = 0; i < 6; i++) {
3             int x=r.nextInt(52);
4             sb.append(arr[x]);
5         }
6         String res=sb.toString();

 

标签:JFrame,界面,import,public,add,new,java,jf,图形化
From: https://www.cnblogs.com/lian369/p/17709855.html

相关文章

  • Java的常用@SuppressWarnings注解
    总所周知,IDE经常会提示一些警告,通常使用@SuppressWarnings注解来忽略虽然这样做并不是很推荐,但对于一些不想改动的代码还是需要的,所以在这里做个我常用的记录值备注ResultOfMethodCallIgnored返回值忽略unused未使用的变量DuplicatedCode重复的代码uncheck......
  • Linux安装java环境
    下载JavaJDK1.8:访问Oracle官方网站或OpenJDK项目网站,下载适用于你的Linux系统的JavaJDK1.8版本的安装包(通常是.tar.gz格式)。解压安装包:打开终端,进入下载目录,使用以下命令解压安装包:tar-zxvfjdk-8uXXX-linux-x64.tar.gz请将“jdk-8uXXX-linux-x64.tar.gz”替换为你下载的安装......
  • java基础——随笔01
    数组实例:packageorg.example.common;publicclassZongJie{//数组作为函数参数publicstaticvoidprintArray(int[]array){System.out.println(array.length);System.out.println("--------------------111");System.ou......
  • Java反射
    声明:本文记录基于JDK8(8u211)的继承使用规则如果存在错误,请发邮件至[email protected]联系我创作时间:2023-09-1617:00:21创作情况:失业第46天,地处成都金牛区创作者:一口吃不成胖子反射准备工作,以供对照描述与代码,想看结论直接到文末尾父类packagecom.beans;/***抽象......
  • 登录界面9.17
    packagetest;importjavax.swing.*;importjava.awt.*;publicclasstest2{//创造字符串储存账号publicstaticStringuname[]=newString[100];//创造字符串储存密码publicstaticStringupass[]=newString[100];//记录当前坐标publicstaticintflag_user......
  • 【java基础】Token令牌生成 token加密串 生成token Aes加密 Base64加密 JWT 【附
    先看效果:Token令牌-生成工具包括:头部(header)+载荷(payload)+签证(signature) 可以自定义加密盐: 源码:地址一:GitLab地址二:123盘地址三:百度盘提取码:666 ......
  • 无涯教程-JavaScript - EXP函数
    描述EXP函数返回e升至数字的幂。常数e等于自然对数的底数2.71828182845904。语法EXP(number)争论Argument描述Required/OptionalNumberTheexponentappliedtothebasee.RequiredNotes要计算其他碱基的幂,请使用幂运算符(^)EXP是LN的倒数,LN是数字的自然......
  • 八大排序算法介绍及其Java实现
    八大排序算法包括:冒泡排序(BubbleSort)选择排序(SelectionSort)插入排序(InsertionSort)希尔排序(ShellSort)归并排序(MergeSort)快速排序(QuickSort)堆排序(HeapSort)计数排序(CountingSort)下面是它们的复杂度、应用场景以及Java语言描述算法:冒泡排序复杂度:最坏情况下需要O(n^2)的时间复......
  • Java环境配置及实战一个Java应用程序
    【前言】在开始编写Java应用程序之前,需要先进行Java环境的配置。本文将介绍如何配置Java环境,并展示一个简单的Java输出示例。读者可以通过本文了解如何正确配置Java环境以及编写并运行Java代码。【摘要】本文将展示如何配置Java环境,并编写一个简单的Java输出示例。通过该示例,读者......
  • 无涯教程-JavaScript - EVEN函数
    描述EVEN函数返回四舍五入到最接近的偶数整数的数字。您可以使用此功能来处理两个项目。语法EVEN(number)争论Argument描述Required/OptionalNumberThevaluetoround.RequiredNotes如果数字为非数字,则EVEN返回#VALUE!错误值。不管数字的符号如何,当从零开......