Java如何实现简单GUI登录和注册界面?
作者:吹吹风会发光
时间:2023-04-25
来源:互联网
浏览:0
先看效果图:登陆界面:注册界面:实现代码如下:一、登陆界面packagecn.bms.view;importjava.awt.Color;importjava.awt.Dimension;importjava.awt.Font;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.
先看效果图:
登陆界面:

注册界面:

实现代码如下:
一、登陆界面
package cn.bms.view;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.MatteBorder;
import cn.bms.tools.GUITools;
/*
* 登录窗口
*/
@SuppressWarnings("serial")
public class AdminLogin extends JFrame {
private JPanel contentPanel = new JPanel();
// Label标签存放背景图片
private JLabel label;
// 设置按钮组件
private JButton login = new JButton("登录"), register = new JButton("注册");
private JLabel jlb1 = new JLabel("用户名:"), jlb2 = new JLabel("密码:"), jlbtitle = new JLabel("登录界面");
// 设置文本框组件
private JTextField admin = new JTextField(), password = new JTextField();
public AdminLogin() {
this.init();
this.addListener();
}
private void init() {
this.setTitle("管理员登陆界面");
this.setSize(500, 350);
GUITools.center(this);
ImageIcon image1 = new ImageIcon("837878.jpg"); // 界面背景图片
JLabel backLabel = new JLabel();
backLabel.setIcon(image1);
label = new JLabel(image1);
label.setBounds(0, 0, 1000, 400);
// 在LayeredPane最底层上添加两个带图片的标签,并且label2在label上方
this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
// 将内容面板设置为透明,就能够看见添加在LayeredPane上的背景。
((JPanel) this.getContentPane()).setOpaque(false);
/*
* 添加组件到contentPanel容器中 布局方式为自由布局。
*/
contentPanel.setLayout(null);
add(admin);
add(password);
add(login);
add(register);
add(jlb1);
add(jlb2);
add(jlbtitle);
/*
* 组件绝对位置
*/
jlb1.setBounds(50, 130, 90, 25);
jlb1.setForeground(Color.WHITE);
admin.setBounds(95, 130, 300, 25);
password.setBounds(95, 154, 300, 25);
jlb2.setBounds(50, 154, 90, 25);
jlb2.setForeground(Color.WHITE);
register.setBounds(95, 225, 90, 20);
login.setBounds(315, 225, 90, 20);
jlbtitle.setBounds(180, 45, 200, 50);
Font f = new Font("微软雅黑", Font.BOLD, 30);
jlbtitle.setFont(f);
jlbtitle.setForeground(Color.BLUE);
/*
* 组件透明化
*/
admin.setOpaque(true);
password.setOpaque(true);
contentPanel.setOpaque(false);
getContentPane().add(contentPanel);
/*
* 组件边框颜色
*/
textSet(admin);
textSet(password);
}
/*
* JTextField文本框设置方法.
*/
private void textSet(JTextField field) {
field.setBackground(new Color(255, 255, 255));
field.setPreferredSize(new Dimension(150, 28));
MatteBorder border = new MatteBorder(0, 0, 2, 0, new Color(192, 192, 192));
field.setBorder(border);
}
/*
* 事件监听
*/
private void addListener() {
login.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
forLogin(admin.getText(), password.getText());
}
});
register.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
forRegister();
}
});
}
// 登录方法
public void forLogin(String admin, String pwd) {
}
// 注册方法
public void forRegister() {
}
}二、注册界面:
package cn.bms.view;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.MatteBorder;
import cn.bms.controller.AdminLoginController;
import cn.bms.tools.GUITools;
/*
* 注册窗口
*/
@SuppressWarnings("serial")
public class AdminRegister extends JFrame {
private JPanel contentPanel = new JPanel();
// Label标签存放背景图片
private JLabel label;
// 设置按钮组件
private JButton ok = new JButton("确定注册"), back = new JButton("返回登录");
private JLabel jlb1 = new JLabel("用户名:"), jlb2 = new JLabel("密码:"), jlb3 = new JLabel("确认密码:"),
jlbtitle = new JLabel("注册界面");
// 设置文本框组件
private JTextField admin = new JTextField(), password1 = new JTextField(), password2 = new JTextField();
public AdminRegister() {
this.init();
this.addListener();
}
private void init() {
this.setTitle("管理员注册界面");
this.setSize(500, 350);
GUITools.center(this);
ImageIcon image1 = new ImageIcon("837878.jpg"); // 界面背景图片
JLabel backLabel = new JLabel();
backLabel.setIcon(image1);
label = new JLabel(image1);
label.setBounds(0, 0, 1000, 400);
// 在LayeredPane最底层上添加两个带图片的标签,并且label2在label上方
this.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));
// 将内容面板设置为透明,就能够看见添加在LayeredPane上的背景。
((JPanel) this.getContentPane()).setOpaque(false);
/*
* 添加组件到contentPanel容器中 布局方式为自由布局。
*/
contentPanel.setLayout(null);
add(admin);
add(password1);
add(password2);
add(ok);
add(back);
add(jlb1);
add(jlb2);
add(jlb3);
add(jlbtitle);
/*
* 组件绝对位置
*/
jlb1.setBounds(40, 130, 90, 25);
jlb1.setForeground(Color.WHITE);
admin.setBounds(95, 130, 300, 25);
password1.setBounds(95, 154, 300, 25);
jlb2.setBounds(40, 154, 90, 25);
jlb2.setForeground(Color.WHITE);
password2.setBounds(95, 178, 300, 25);
jlb3.setBounds(40, 178, 90, 25);
jlb3.setForeground(Color.WHITE);
ok.setBounds(315, 225, 90, 20);
back.setBounds(95, 225, 90, 20);
jlbtitle.setBounds(180, 45, 200, 50);
Font f = new Font("微软雅黑", Font.BOLD, 30);
jlbtitle.setFont(f);
jlbtitle.setForeground(Color.BLUE);
/*
* 组件透明化
*/
admin.setOpaque(true);
password1.setOpaque(true);
password2.setOpaque(true);
contentPanel.setOpaque(false);
getContentPane().add(contentPanel);
/*
* 组件边框颜色
*/
textSet(admin);
textSet(password1);
textSet(password2);
}
/*
* JTextField文本框设置方法.
*/
private void textSet(JTextField field) {
field.setBackground(new Color(255, 255, 255));
field.setPreferredSize(new Dimension(150, 28));
MatteBorder border = new MatteBorder(0, 0, 2, 0, new Color(192, 192, 192));
field.setBorder(border);
}
/*
* 事件监听
*/
private void addListener() {
ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
setRegister(admin.getText(), password1.getText(), password2.getText());
}
});
back.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new AdminLoginController().setVisible(true);
}
});
}
// 实现注册账户方法
public void setRegister(String admin, String pwd1, String pwd2) {
}
}
作者最新文章
PDF怎么取消密码保护?4种解锁方法整理
2026-09-08 18:23
三星 Galaxy Z Fold8 内屏边角支撑偏软?实测与官方回应
2026-09-08 16:39
手机Excel表格制作教程:小屏幕高效录入与格式调整指南
2026-09-04 09:27
PDF文档按页转换成图片怎么做?在线转换步骤整理
2026-09-03 11:06
PDF转Excel操作指南:在线工具、Adobe与Excel内置功能详解
2026-09-02 19:08
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















