Java开发一个登陆窗体,包括用户名,密码以及提交按钮和重置按钮,当用户输入amy,密码123456,弹出登陆成功提示对话框

本文介绍了一个使用Java Swing和GridLayout实现的用户登录窗体。窗体包括用户名和密码输入框,以及登录和重置按钮。通过监听器验证登录信息,并在成功或失败时给出反馈。

java开发用户登陆窗体

package javagame;

/** 本次项目采用网格布局管理器实现 */

import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.*;

public class Program1 extends JFrame{
	//将此次项目的部件定义为全局变量,方便在监听器中的修改
	/**
	 *  明确要实现的目标,定义变量
	 * 1.  3个标签
	 * 2.  2个文本内框用于输入用户名和密码
	 * 3.         两个按钮用于确定和重置
	 * 4.         将容器分为4行一列则需要填充4个面板
	 */
	JLabel label1,label2,label3;
	JTextField txt1,txt2;
	JButton button1,button2;
	JPanel panel1,panel2,panel3,panel4;
	Container con;
	public static void main(String[] args) {
		Program1 frame = new Program1();
		frame.setVisible(true);
	}
	


	public Program1() {
		//在构造函数中完成对全局变量的初始化及布局管理器的管理
		super();
		setBounds(100,100,300,200);
		setTitle("登录");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		label1 = new JLabel("用户名");
		label2 = new JLabel("密     码");
		label3 = new JLabel("");
		
		txt1 = new JTextField(10);
		txt2 = new JTextField(10);
		
		button1 = new JButton("确定");		
		button2 = new JButton("取消");
		
		con=getContentPane();
		con.setLayout(new GridLayout(4, 1));
		
		panel1 = new JPanel();
		panel2 = new JPanel();
		panel3 = new JPanel();
		panel4 = new JPanel();
		
		panel1.add(label1);
		panel1.add(txt1);
		
		panel2.add(label2);
		panel2.add(txt2);
		
		Handle handle = new Handle();
		button1.addActionListener(handle);
		
		panel3.add(button1);
		panel3.add(button2);
		
		panel4.add(label3);
		
		con.add(panel1);
		con.add(panel2);
		con.add(panel3);
		con.add(panel4);
		
	}
	class Handle implements ActionListener{
		public void actionPerformed(ActionEvent e) {
			String s1 = txt1.getText();
			String s2 = txt2.getText();

			if(s1.equals("amy")==true&&s2.equals("123456"))
				//弹出登陆成功对话框
				JOptionPane.showMessageDialog(null, "登录成功");
			
			else
			{
				//重置
				txt1.setText(null);
				txt2.setText(null);
				JOptionPane.showMessageDialog(null, "账号或密码错误,请重新输入");}}}
	}

在这里插入图片描述

在这里插入图片描述

好的,我可以为您介绍如何用Java创建一个类似QQ登录窗口的小窗体,包括输入用户名密码的功能。以下是一个简单的实现示例: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class LoginFrame extends JFrame { private JTextField usernameField; private JPasswordField passwordField; private JButton loginButton; public LoginFrame() { setTitle("登录"); setSize(300, 180); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setLayout(new GridLayout(3, 2)); JLabel usernameLabel = new JLabel("用户名:"); usernameField = new JTextField(); JLabel passwordLabel = new JLabel("密码:"); passwordField = new JPasswordField(); loginButton = new JButton("登录"); add(usernameLabel); add(usernameField); add(passwordLabel); add(passwordField); add(new JPanel()); add(loginButton); loginButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String username = usernameField.getText(); String password = new String(passwordField.getPassword()); if (authenticate(username, password)) { JOptionPane.showMessageDialog(LoginFrame.this, "登录成功!"); } else { JOptionPane.showMessageDialog(LoginFrame.this, "用户名密码错误", "登录失败", JOptionPane.ERROR_MESSAGE); } } }); } private boolean authenticate(String username, String password) { // 这里可以添加实际的认证逻辑 return "admin".equals(username) && "password".equals(password); } public static void main(String[] args) { SwingUtilities.invokeLater(() -> { LoginFrame frame = new LoginFrame(); frame.setVisible(true); }); } } ``` 这个程序创建了一个简单的登录窗口,包含以下元素: 1. 用户名输入框 2. 密码输入框 3. 登录按钮用户点击登录按钮时,程序会验证输入用户名密码。这里使用了硬编码的验证逻辑("admin"/"password"),您可以根据需要修改这个方法。 这个示例展示了基本的GUI创建事件处理。如果您需要更复杂的功能,比如记住密码选项、忘记密码功能等,可以在此基础上进行扩展。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

面向科研的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值