Java实现简单GUI登录和注册界面
作者:全?洛 发布时间:2022-09-02 06:36:21
标签:Java,GUI,登录,注册
本文实例为大家分享了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


猜你喜欢
- 前言在上一章节Spring和Mybatis整合的原理详解中有写到Spring和MyBatis整合时用到的Bean扫描是Spring本身提供的
- 背景kafka有分区机制,一个主题topic在创建的时候,会设置分区。如果只有一个分区,那所有的消费者都订阅的是这一个分区消息;如果有多个分
- 本文实例为大家分享了C#实现截图工具小项目的具体代码,供大家参考,具体内容如下1.起因一直用的截图是qq的截图,所以想要实现一个简单点的截图
- 文章来源:aspcn 作者:孙雯服务器Sockets列表9.2是一个服务器应用程序的一部分.列表9.2 一个简单的服务器程序 /** &n
- 通常在写程序的时候,当要用到某些组件,采用的方法一般都是动态创建,用完以后就释放掉。Visual C#在程序运行的时
- 目录1 CompletionService介绍2 CompletionService源码分析3 CompletionService实现任务4
- 本文实例讲述了spring多数据源配置实现方法。分享给大家供大家参考,具体如下:在网上找到的配置多数据源的方法。1.扩展 org.sprin
- 在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java
- 发现要坚持写博客真的是一件很困难的事情,各种原因都会导致顾不上博客。本来打算写自己动手实现orm,看看时间,还是先实现一个动态sql,下次有
- 1、需求说明,实现细节要求:解析二进制文件 files\case10\binary,其中包含一个字符串和一张图片,数据文件格式为字符串数据长
- 一、在GitHub上创建一个OAuth二、OAuth的原理Spring官方文档三、OkHttp的使用OkHttp官方网站1.Post代码示例
- webservice的POST和GET请求调用POST请求1.发送请求import java.io.DataOutputStream;imp
- 一、理解 “ 服务器 / 浏览器 ”沟通流程(3步)第1步:浏览器使用<img src=&qu
- Spring Cloud Gateway使用Spring Cloud Gateway是一个基于Spring Boot 2.x和Spring&
- 我就废话不多说了,大家还是直接看代码吧~package com.jalor;import java.util.ArrayList;impor
- 本文实例讲述了C#编程实现查看剪切板内容的方法。分享给大家供大家参考,具体如下:using System;using System.Coll
- using System; using System.Drawing; using System.Windows.Forms; using
- 在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>、DataTa
- 将BeanFactory和ApplicationContext作为容器使用在Spring中,BeanFactory和ApplicationC
- Nashorn是什么Nashorn,发音“nass-horn”,是德国二战时一个坦克的命名,同时也是java8新一代的javascript引