如何使用Java GUI创建一个用户登录页面

582 阅读6分钟

如何使用Java GUI创建一个用户登录页面

图形用户界面是针对人们认为的命令行界面(CLI)的陡峭学习曲线而推出的。在这篇文章中,我们将学习如何使用Java建立一个简单的GUI。

Java提供了一套丰富的库,以独立于平台的方式创建GUI。GUI提供了一个可视化的组件显示。组件如标签、文本字段、按钮、复选框、Jpanel、JFrame在屏幕上。

Java最初的GUI库被称为抽象窗口工具包(AWT)。后来,它在Java SE 1.2中被Swing取代。从那时起,Swing一直是主要的Java GUI技术。

  • 抽象窗口工具包(AWT):AWT是一组API,用于为Java应用程序创建GUI。它后来被Swing所取代。

  • Swing:Swing是一套包含GUI组件的API,用于创建应用程序。Swing是在AWT的API上建立的。它提供了一套更好、更丰富的GUI组件,具有本地或跨平台的可访问性,使应用程序在不同的窗口上看起来是一样的。

目标

在本教程中,我们将学习如何设计一个像这样的简单的用户登录页面。Login page

先决条件

  1. 对Java和GUI的基本了解。
  2. 已安装的[JDK 16版本或更高版本]。
  3. 您选择的Java编译器(推荐:[Eclipse])。

设置程序

要在Eclipse中创建一个项目。

  • 打开Eclipse IDE
  • 点击File
  • 选择New
  • 选择Class
  • 最后,给你的类命名。

一旦你设置好了,你的工作区应该是这样的。

java gui

核心概念

变量

变量是可以容纳任何数据类型的有效值的容器。

在 Java 中有三种类型的变量。

  • 本地变量:在一个方法类内声明,只能由该方法访问。
  • 实例变量:在一个类内声明,在方法之外,可以被一个类的对象访问。
  • 静态变量:在类内使用静态关键字声明,在方法之外,可以被类的不同对象访问。

变量还可以保存GUI组件,如标签、复选框、文本字段、框架、面板和按钮。

例子。

// declaring a button variable
button = new JButton("Login");

在上面的例子中,我们声明了一个按钮作为变量名,JButton作为AWT包中持有按钮组件的类的名称,Login作为按钮上出现的文本。

JPanel

JPanel类涵盖了整个空间或一个窗口,我们在其中附加了组件,使其与其他面板一起可视化。

JFrame

一个框架是一个带有标题和边框的顶层窗口。框架的大小包括为边框指定的任何区域。

框架封装了一个窗口。它包含一个标题栏、菜单栏、边框和调整大小的角。

JLabels

一个简短的文本字符串或图像的显示区域,或两者都是。一个标签提供了一个键盘替代物,作为附近组件的一个便利。

JTextfield

JTextField是一个轻量级的组件,允许编辑单行文本。

注意,密码文本字段不显示原始字符。英文字符将被任何其他特殊字符所取代。

创建用户界面

在对各种Java GUI组件有了一定的了解之后。让我们开始建立登录页面。

首先,我们导入Java GUI包。

import javax.swing.*;
import java.awt.*;
import java.awt.event;

变量

接下来,我们创建一个包含private static 变量的类Java_GUI ,如下所示。

// Class Variables
public class Java_GUI implements ActionListener {
	private static JLabel password1, label;
	private static JTextField username;
	private static JButton button;
	private static JPasswordField Password;

注意:我们实现了一个ActionListener,用来监听一个事件。ActionListener类可以在java.awt.event 包中找到。它只有一个方法actionPerformed()

这里,动作被附加到一个按钮上。在点击按钮时,动作事件被触发。

在窗口中添加JPNEL

接下来,我们构建一个Jpanel容器,这将有助于在窗口上布置组件。

在我们使用Jpanel之前,我们必须创建并实例化该对象,如图所示。

// creating a JPanel class
JPanel panel = new JPanel();
panel.setLayout(null);

从上面的片段中,我们使用变量名作为panel ,实例化了一个Jpanel类。然后,我们将布局设置为null ,意思是:布局应该占据整个屏幕的宽度和高度。

添加JFrame

接下来,让我们创建一个JFrame类,包含我们在屏幕上看到的所有组件。

// JFrame class
JFrame frame = new JFrame();
frame.setTitle("LOGIN PAGE");
frame.setLocation(new Point(500, 300));
frame.add(panel);
frame.setSize(new Dimension(400, 200));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

第1行。声明和实例化JFrame类 第2行。设置JFrame的标题名称,它将出现在我们框架的顶部。第3行。在窗口上定位框架,从左边500像素,从屏幕的顶部300像素。第4行。声明面板上的框架。第5行。设置整个框架的大小--400 像素宽(宽度)和200像素长(高度)。第6行。每当我们退出窗口时,这将结束并关闭该进程。

添加用户名标签

接下来,我们实例化用户名标签和位置。它被设置在距离框架左边的100 像素,距离框架顶部的8 像素,宽度为70 像素,高度为20 像素。

// Username label constructor
label = new JLabel("Username");
label.setBounds(100, 8, 70, 20);
panel.add(label);

添加一个用户名文本字段

接下来,我们实例化用户名文本字段,位置是:100 ,从左边开始,27 ,宽度是193 ,高度是28

// Username TextField constructor
username = new JTextField();
username.setBounds(100, 27, 193, 28);
panel.add(username);

添加密码标签

让我们把密码标签定位在100 ,从顶部5570 像素宽(宽度),20 像素长(高度)。

// Password Label constructor
password1 = new JLabel("Password");
password1.setBounds(100, 55, 70, 20);
panel.add(password1);

添加密码文本字段

接下来,密码文本字段的位置是:100 ,从左边开始,75193 ,宽(宽度),28 ,长(高度)。

// Password TextField
Password = new JPasswordField();
Password.setBounds(100, 75, 193, 28);
panel.add(Password);

添加按钮

最后,我们将添加一个按钮Login ,在登录前进行认证。

// Button constructor
button = new JButton("Login");
button.setBounds(100, 110, 90, 25);
button.setForeground(Color.WHITE);
button.setBackground(Color.BLACK);
button.addActionListener((ActionListener) new Java_GUI());
panel.add(button);

第5行。这将在点击按钮时调用一个动作。

认证

当我们点击Login 按钮时,这个方法将被调用。它有助于验证在用户名和密码区域输入的数据。

// Imlementing an action event listener class with conditional statement
@Override
public void actionPerformed(ActionEvent e) {
	String Username = username.getText();
	String Password1 = Password.getText();

	if (Username.equals("section.io") && Password1.equals("123"))
		JOptionPane.showMessageDialog(null, "Login Successful");
	else
		JOptionPane.showMessageDialog(null, "Username or Password mismatch ");
}

在这里,我们检查用户名是否是section.io ,密码是否是123 。为了进行更好的验证,我们必须使用正则表达式(REGEX)。

JOptionPane 是Java GUI的另一个组件,当在屏幕上以对话框的形式显示警告、成功或错误信息时,它就会派上用场。

总结

到目前为止,我们已经学会了如何在Java GUI包的帮助下从头设计一个简单的用户登录页面。

我们还学习了如何使用JOptionPane.showMessageDialog(); 类创建一个显示信息对话框的认证方法。