Java学习笔记-简单的用户登录注册界面
程序员文章站
2024-03-19 08:59:28
...
实验内容
1、选择合适的布局,实现下面两个界面。
2、界面功能先实现一部分(学完Java与数据库的链接再实现完整功能):
(1)点击登录界面中的“注册按钮”进入注册界面
(2)登录界面中,输入用户名与密码后,点击“登录”按钮进行验证,若用户名为WL16,密码为123456,则屏幕输出“登录成功”,否则屏幕提示“用户名或密码不正确!”
实验步骤:
一.首先要创建两个类,一个登录,一个注册。
二.其次要考虑布局方面,在这里我是用了精确定位。
三.哪些按钮需要事件触发?
1.登录按钮,要判断输入的用户名以及密码是否匹配。
2.取消按钮,题目没要求,但是常规来说点击取消肯定要关闭窗口了啊!
3.注册按钮,当点击注册按钮的时候要弹出注册的窗口,同时把登录窗口隐藏或者关闭。
package UserReg;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyFrame1 extends JFrame//登陆界面
{
private Container c;
private JLabel lb1,user,password,lb2;
private JTextField jtf1;
private JPasswordField jtf2;
private JButton jb1,jb2,jb3;
public MyFrame1()
{
super("登录界面");
c=getContentPane();
c.setLayout(null);
createFace();//创建按钮标签文本框
Locate();//精确定位
addFace();//添加标签按钮文本框
landingHandle();//处理登陆按钮
registerHandle();//处理注册按钮
cancleHandle();
}
public void createFace()
{
lb1 = new JLabel("用户登录");
lb2 = new JLabel("新用户请先注册");
user = new JLabel("用户名");
password = new JLabel("密码");
jtf1 = new JTextField(20);
jtf2 = new JPasswordField(20);
jb1=new JButton("登录");
jb2=new JButton("取消");
jb3=new JButton("注册");
}
public void Locate()
{
jtf1.setEditable(true);
jtf2.setEditable(true);
lb1.setBounds(140, 0, 120, 20);
user.setBounds(50, 30, 40, 40);
password.setBounds(50, 60, 40, 40);
jtf1.setBounds(120, 40, 150, 20);
jtf2.setBounds(120, 70, 150, 20);
jb1.setBounds(70, 120, 60, 20);
jb2.setBounds(200, 120, 60, 20);
lb2.setBounds(50, 270, 100, 40);
jb3.setBounds(200,280,60,20);
}
public void addFace()
{
c.add(lb1);
c.add(user);
c.add(jtf1);
c.add(password);
c.add(jtf2);
c.add(jb1);
c.add(jb2);
c.add(lb2);
c.add(jb3);
}
public void landingHandle()
{
ButtonHandler1 bh=new ButtonHandler1();
jb1.addActionListener(bh);
//匿名类处理登陆按钮
/*jb1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String str1=jtf1.getText();
String str2=jtf2.getText();
if((str1.compareTo("wl16")==0
||str1.compareTo("Wl16")==0
||str1.compareTo("wL16")==0
||str1.compareTo("WL16")==0)
&&str2.compareTo("123456")==0)
System.out.println("登录成功");
else
System.out.println("用户名或密码不正确");
}
});
c.add(jb1);
*/
}
class ButtonHandler1 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String str1=jtf1.getText();
String str2=jtf2.getText();
//System.out.println(str1);
//System.out.println(str2);
if((str1.compareTo("wl16")==0
||str1.compareTo("Wl16")==0
||str1.compareTo("wL16")==0
||str1.compareTo("WL16")==0)
&&str2.compareTo("123456")==0)
System.out.println("登录成功");
else
System.out.println("用户名或密码不正确");
}
}
public void registerHandle()
{
ButtonHandler2 bh=new ButtonHandler2();
jb3.addActionListener(bh);
}
class ButtonHandler2 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
MyFrame2 myfra=new MyFrame2();
myfra.setBounds(500,200,350,350);
myfra.setVisible(true);
//setVisible(false);
dispose();
}
}
public void cancleHandle()
{
jb2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
dispose();
}
});
}
}
class MyFrame2 extends JFrame//注册界面
{
private Container c;
private JLabel lb1,user,password1,password2;
private JTextField jtf1;
private JPasswordField jtf2,jtf3;
private JButton jb1,jb2,jb3;
public MyFrame2()
{
super("注册界面");
c=getContentPane();
c.setLayout(null);
createFace();//创建按钮标签文本框
Locate();//精确定位
addFace();//添加标签按钮文本框
cancleHandle();//处理取消按钮
}
public void createFace()
{
lb1 = new JLabel("用户注册");
user = new JLabel("用户名");
password1= new JLabel("密码");
password2 = new JLabel("确认密码");
jtf1 = new JTextField(20);
jtf2 = new JPasswordField(20);
jtf3 = new JPasswordField(20);
jb1=new JButton("注册");
jb2=new JButton("取消");
}
public void Locate()
{
jtf1.setEditable(true);
jtf2.setEditable(true);
jtf3.setEditable(true);
lb1.setBounds(140, 0, 120, 20);
user.setBounds(50, 30, 40, 40);
password1.setBounds(50, 60, 40, 40);
password2.setBounds(50, 90, 60, 40);
jtf1.setBounds(120, 40, 150, 20);
jtf2.setBounds(120, 70, 150, 20);
jtf3.setBounds(120, 100, 150, 20);
jb1.setBounds(70, 150, 60, 20);
jb2.setBounds(200, 150, 60, 20);
}
public void addFace()
{
c.add(lb1);
c.add(user);
c.add(jtf1);
c.add(password1);
c.add(password2);
c.add(jtf2);
c.add(jtf3);
c.add(jb1);
c.add(jb2);
}
public void cancleHandle()
{
jb2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
}
}
public class UserRegister
{
public static void main(String args[])
{
MyFrame1 myfra=new MyFrame1();
myfra.setSize(350,350);
myfra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myfra.setVisible(true);
}
}
雨天和烧烤更配哦~
上一篇: 记一次内存泄露的排查过程
下一篇: C/C++ 小程序:表达式计算器