java登录窗口的简单实现

用到的标题包

字体 - java.awt.Font
窗口布局管理 - java.awt.GridLayout;
事件 - java.awt.event.ActionEvent
事件监听 - java.awt.event.ActionListener
窗口事件 - java.awt.event.WindowEvent
监听窗口 - java.awt.event.WindowListener
窗口 - javax.swing.JFrame
标签 - javax.swing.JLabel
面板 - javax.swing.JPanel
按钮 - javax.swing.JButton
单行文本输入框 - javax.swing.JTextField
密码输入框 - javax.swing.JPasswordField

代码用到的知识点

1.匿名内部类

but.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==but) {
			System.exit(1);
		}
	}
});

代码

/*用到的包已经在上方写出,此处省略*/

//登录成功的弹出窗口
class LoginYes{
	private JFrame frame=new JFrame("确认窗口");//实例化弹窗
	private JLabel lab=new JLabel("登录成功");//实例化标签
	private JButton but=new JButton("确认");//实例化按钮
	public LoginYes() {//构造无参函数
		//实例化字体宋体,倾斜,加粗
		Font fnt=new Font("宋体",Font.ITALIC+Font.BOLD,20);
		lab.setFont(fnt);//设置标签字体
		but.setFont(fnt);//设置按钮字体
		but.addActionListener(new ActionListener() {//按钮监听的事件
			public void actionPerformed(ActionEvent e) {
				if(e.getSource()==but) {
					System.exit(1);
				}
			}
		});
		frame.addWindowListener(new WindowAdapter() {//窗口的事件
			//此处用到的是窗口事件的一个监听适配器
			//只实现了关闭窗口的监听接口
			public void windowClosing(WindowEvent e) {
				System.exit(1);//直接退出程序
			}
		});
		frame.setLayout(new GridLayout(2,1));//分上下两个空位
		frame.add(lab);//第一个空位加入标签
		frame.add(but);//第二个空位加入按钮
		frame.pack();//自适应窗口大小
		frame.setLocation(300,300);//窗口输出的位置
		frame.setVisible(true);//窗口可见
	}
}
/*登录确认*/
class LoginCheck{//账号密码的比较
	private String name;//账号
	private String password;//密码
	public LoginCheck(String name,String password) {//构造类,初始化账号密码
		this.password=password;
		this.name=name;
	}
	public boolean validate() {//判断账号密码是否正确
		if("moster".equals(name)&&"passwd".equals(this.password)) {
			return true;
		}
		return false;
	}
}
//登录窗口
class ActionHandle1{
	private JFrame frame=new JFrame("三体世界登录器");//实例化主窗口
	private JPanel pan=new JPanel();//实例化面板
	private JButton but=new JButton("登录");//实例化登录按钮
	private JTextField text=new JTextField();//实例化用于输入文字的单行文本框
	private JPasswordField pass=new JPasswordField();//实例化密码框
	public ActionHandle1(){//构造类
		//字体实例化,宋体,加粗,倾斜
		Font fnt=new Font("宋体",Font.BOLD+Font.ITALIC,20);
		but.setFont(fnt);//按钮加入字体
		but.addActionListener(new ActionListener() {//按钮监听(用了匿名内部类)
			public void actionPerformed(ActionEvent e) {
				if(e.getSource()==but) {
					LoginCheck login=new LoginCheck(text.getText(), pass.getText());
					System.out.println(text.getText());
					System.out.println(pass.getText());
					if(login.validate()==true) {
						frame.setVisible(false);//隐藏主窗口
						new LoginYes();//实例化登录成功的弹出窗口
					}
				}
			}
		});
		frame.addWindowListener(new WindowAdapter() {//窗口事件(匿名内部类,适配器)
			public void windowClosing(WindowEvent e) {//点击窗口的关闭按钮时
				System.exit(1);//结束程序
			}
		});
		frame.setLayout(new GridLayout(2,1));//分出两行一列
		pan.setLayout(new GridLayout(2,2));//分出两行两列
		pan.add(new JLabel("姓名:"));//面板第一行第一列加入姓名标签
		pan.add(text);//面板第一行第二列加入文本输入框类
		pan.add(new JLabel("密码:"));//面板二行第一列加入密码标签
		pan.add(pass);//面板第二行第二列加入密码输入框类
		frame.add(pan);//窗口第一行加入刚才的面板
		frame.add(but);//窗口第二行加入登录按钮
		frame.setSize(300,100);//窗口宽300px,高100px
		frame.setLocation(300,300);//窗口的输出位置
		frame.setVisible(true);//窗口可视
	}
	
}
//主方法
public class Register {
	public static void main(String[] args) {
		new ActionHandle1();//实例化登录窗口
	}
}

难点

较为基础没有难点~
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给你提供一个简单Java 代码示例来实现注册登录窗口。以下是示例代码: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class RegisterLoginWindow extends JFrame implements ActionListener { // 定义组件 JLabel userLabel = new JLabel("用户名:"); JLabel passwordLabel = new JLabel("密 码:"); JTextField userText = new JTextField(); JPasswordField passwordText = new JPasswordField(); JButton registerButton = new JButton("注册"); JButton loginButton = new JButton("登录"); public RegisterLoginWindow() { super("注册/登录窗口"); // 设置窗口大小 setSize(400, 200); // 获取窗口容器 Container container = getContentPane(); // 设置布局管理器 container.setLayout(new GridLayout(3, 2)); // 添加组件 container.add(userLabel); container.add(userText); container.add(passwordLabel); container.add(passwordText); container.add(registerButton); container.add(loginButton); // 注册监听器 registerButton.addActionListener(this); loginButton.addActionListener(this); // 设置窗口可见性 setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == registerButton) { // 处理注册逻辑 String username = userText.getText(); String password = new String(passwordText.getPassword()); // TODO: 添加注册逻辑 } else if (e.getSource() == loginButton) { // 处理登录逻辑 String username = userText.getText(); String password = new String(passwordText.getPassword()); // TODO: 添加登录逻辑 } } public static void main(String[] args) { new RegisterLoginWindow(); } } ``` 该示例代码使用了 Java 的 Swing 库来创建一个注册/登录窗口,其中包含用户名和密码的文本框以及注册和登录按钮。注册和登录按钮都注册了 ActionListener 监听器,当用户点击按钮时,程序会调用 actionPerformed() 方法来处理相应的逻辑。 请注意,示例代码中有两个 TODO 注释,这是因为注册和登录逻辑需要自己编写实现。您需要在这两个位置添加相应的代码来完成注册和登录功能。 希望这个示例代码对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值