Java实现简单GUI登录和注册界面
作者:全?洛 时间:2022-09-02 06:36:21
本文实例为大家分享了Java实现简单GUI登录和注册界面的具体代码,供大家参考,具体内容如下
先看效果图:
登陆界面:
注册界面:
实现代码如下:
一、登陆界面
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) {
}
}
来源:https://blog.csdn.net/weixin_43347550/article/details/106721761
标签:Java,GUI,登录,注册
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
springboot之端口设置和contextpath的配置方式
2023-10-05 14:16:20
Android进阶事件分发机制解决事件冲突
2021-08-22 06:12:34
![](https://img.aspxhome.com/file/2023/7/123367_0s.png)
手把手教你SpringBoot轻松整合Minio
2022-07-24 14:00:37
java中mybatis和hibernate的用法总结
2022-08-23 07:24:38
android AudioRecorder简单心得分享
2021-12-13 08:23:46
java实现小猫钓鱼游戏
2021-10-10 19:59:48
Java实现的双向匹配分词算法示例
2023-06-23 08:29:32
![](https://img.aspxhome.com/file/2023/2/70522_0s.jpg)
Android实现下拉展示条目效果
2021-09-29 21:00:42
教你轻松制作java音乐播放器
2023-09-27 11:17:11
![](https://img.aspxhome.com/file/2023/0/91670_0s.jpg)
c# ArrayList的使用方法小总结
2023-04-13 17:16:22
c#数字图像处理的3种方法示例分享
2021-10-09 09:56:51
Java建造者模式构建复杂对象的最佳实践
2021-06-27 10:07:16
![](https://img.aspxhome.com/file/2023/8/61808_0s.png)
Android同步屏障机制sync barrier实例应用详解
2023-04-24 05:27:04
MyBatis常用标签以及使用技巧总结
2022-02-27 20:52:14
c#的dllimport使用方法详解
2023-04-20 04:01:49
spring的Cache注解和redis的区别说明
2023-10-20 02:01:33
![](https://img.aspxhome.com/file/2023/9/62969_0s.png)
C# 语音功能的实现方法
2023-03-15 13:40:51
Java多线程之同步锁-lock详解
2023-12-16 14:40:08
![](https://img.aspxhome.com/file/2023/0/62230_0s.png)
Java 继承与多态超详细梳理
2023-11-26 09:01:08
![](https://img.aspxhome.com/file/2023/6/59736_0s.png)
android recyclerview模拟聊天界面
2022-01-19 17:02:42
![](https://img.aspxhome.com/file/2023/3/88723_0s.jpg)