java swing 制作一个登陆界面,亲测有效

时间:2023-03-08 21:57:21
java swing 制作一个登陆界面,亲测有效

一、介绍

Swing 是一个为Java设计的GUI工具包。

Swing是JAVA基础类的一部分。

Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

二、效果

java swing 制作一个登陆界面,亲测有效

java swing 制作一个登陆界面,亲测有效

三、代码

package com.test.jframe;

import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField; public class JFrameTest { private JFrame frame;
private JPasswordField passwordField;
private boolean isLogin = false; /**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JFrameTest window = new JFrameTest();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
} /**
* Create the application.
*/
public JFrameTest() {
initialize();
} /**
* Initialize the contents of the frame.
*/
private void initialize() { String userName = "111";
String userPwd = "111"; frame = new JFrame();
frame.setBounds(100, 100, 667, 453);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null); Label label = new Label("账号:");
label.setAlignment(Label.CENTER);
label.setBounds(116, 49, 50, 23);
frame.getContentPane().add(label); Label label_1 = new Label("密码:");
label_1.setAlignment(Label.CENTER);
label_1.setBounds(116, 85, 50, 23);
frame.getContentPane().add(label_1); Label label_2 = new Label("用户状态:");
label_2.setBounds(433, 49, 60, 23);
frame.getContentPane().add(label_2); Label label_3 = new Label("未登录");
label_3.setForeground(new Color(255, 0, 0));
label_3.setBounds(499, 49, 40, 23);
frame.getContentPane().add(label_3); JFormattedTextField formattedTextField = new JFormattedTextField();
formattedTextField.setBounds(172, 49, 166, 23);
frame.getContentPane().add(formattedTextField); passwordField = new JPasswordField();
passwordField.setBounds(172, 85, 166, 23);
frame.getContentPane().add(passwordField); JButton button = new JButton("login");
button.setBackground(new Color(255, 255, 255));
button.setBounds(126, 121, 212, 23);
frame.getContentPane().add(button);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String getUserName = formattedTextField.getText();
String getUserPwd = passwordField.getText();
if (userName.equals(getUserName) && userPwd.equals(getUserPwd)) {
isLogin = true;
} else {
isLogin = false;
}
if (isLogin) {
JOptionPane.showMessageDialog(null, "登录成功!", "消息", JOptionPane.PLAIN_MESSAGE);
label_3.setText("已登录");
label_3.setForeground(Color.BLUE);
} else {
JOptionPane.showMessageDialog(null, "登录失败!", "消息", JOptionPane.WARNING_MESSAGE);
label_3.setText("未登录");
label_3.setForeground(Color.RED);
}
}
});
}
}

四、解决中文乱码问题

Run as > Run Condiguration,在Arguments中增加下面这句话:

-Dfile.encoding=gbk

java swing 制作一个登陆界面,亲测有效