JAVA创建一个登陆窗体,输入用户名和密码登陆。

《JAVA从入门到精通》(第三版)第十三章练习最后一题

尝试开发一个登陆窗体,包括用户名、密码以及提交按钮和重置按钮,当用户输入用户名mr、密码mrsoft时,弹出登陆成功提示对话框。

package com.swingtest;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

/**
 * @author LycanYao
 *
 *         2018年3月23日
 */
public class Swingtest002 extends JFrame {
	public Swingtest002() {
		// 设置标题
		setTitle("请登陆");
		// 绝对布局
		setLayout(null);
		// 定义一个容器
		Container c = getContentPane();
		// 创建"用户名:"标签
		JLabel jl1 = new JLabel("用户名:");
		// 创建文本框
		final JTextField jtf1 = new JTextField();
		// 创建"密码:"标签
		JLabel jl2 = new JLabel("密码:");
		// 创建密码框
		final JPasswordField jpf1 = new JPasswordField();
		// 设置密码字符为*
		jpf1.setEchoChar('*');
		// 创建"提交"按钮
		JButton jb1 = new JButton("提交");
		// 创建"重置"按钮
		JButton jb2 = new JButton("重置");
		// 当用户名为"mr",密码为"mrsoft"时点击"提交"按钮弹出"登录成功"提示对话框
		jb1.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				if ((jtf1.getText().trim().equals("mr") && new String(jpf1.getPassword()).trim().equals("mrsoft"))) {
					JOptionPane.showMessageDialog(null, "登陆成功!");
				} else if (jtf1.getText().trim().length() == 0 || new String(jpf1.getPassword()).trim().length() == 0) {
					JOptionPane.showMessageDialog(null, "不能为空!");
				} else {
					JOptionPane.showMessageDialog(null, "错误");
					// 清零
					jtf1.setText("");
					jpf1.setText("");
				}

			}
		});
		// 实现"重置"按钮功能
		jb2.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				jtf1.setText("");
				jpf1.setText("");

			}
		});
		// 将各组件添加到容器中
		c.add(jl1);
		c.add(jtf1);
		c.add(jl2);
		c.add(jpf1);
		c.add(jb1);
		c.add(jb2);
		// 设置各组件的位置以及大小
		jl1.setBounds(10, 20, 90, 30);
		jtf1.setBounds(60, 20, 210, 30);
		jl2.setBounds(25, 60, 90, 30);
		jpf1.setBounds(60, 60, 210, 30);
		jb1.setBounds(80, 100, 70, 50);
		jb2.setBounds(150, 100, 70, 50);
		// 设置窗体大小、关闭方式、不可拉伸
		setSize(300, 220);
		setVisible(true);
		setResizable(true);
		setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

	}

	public static void main(String[] args) {
		new Swingtest002();
	}

}

运行结果为:



  • 18
    点赞
  • 164
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Java程序中创建两个窗体,一个为登录窗口,另一个为主窗口。用户在登录窗口输入用户名密码,验证通过后跳转到主窗口,可以按照以下步骤实现: 1. 在登录窗口创建一个“登录”按钮,用户在输入用户名密码后点击该按钮触发登录操作。 2. 在“登录”按钮的事件处理方法中,获取用户输入用户名密码,然后调用数据库连接代码进行验证。 3. 如果验证通过,关闭登录窗口,打开主窗口。 4. 在主窗口中添加需要的控件,例如菜单栏、工具栏、表格等。 下面是一个简单的示例代码,可以参考: ```java // 登录窗口 class LoginFrame extends JFrame { private JTextField usernameField; private JPasswordField passwordField; public LoginFrame() { // 设置窗口标题、大小、位置等属性 setTitle("登录窗口"); setSize(300, 200); setLocationRelativeTo(null); // 创建输入、标签、按钮等控件,并添加到窗口中 JLabel usernameLabel = new JLabel("用户名:"); JLabel passwordLabel = new JLabel("密 码:"); usernameField = new JTextField(20); passwordField = new JPasswordField(20); JButton loginButton = new JButton("登录"); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(3, 2)); panel.add(usernameLabel); panel.add(usernameField); panel.add(passwordLabel); panel.add(passwordField); panel.add(loginButton); add(panel); // 为“登录”按钮添加事件处理方法 loginButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String username = usernameField.getText(); String password = new String(passwordField.getPassword()); if (checkLogin(username, password)) { // 验证通过,打开主窗口 dispose(); new MainFrame().setVisible(true); } else { // 验证失败,弹出提示 JOptionPane.showMessageDialog(LoginFrame.this, "用户名密码错误!", "错误", JOptionPane.ERROR_MESSAGE); } } }); } // 验证用户名密码是否正确 private boolean checkLogin(String username, String password) { // TODO: 调用数据库连接代码进行验证 return true; } } // 主窗口 class MainFrame extends JFrame { public MainFrame() { // 设置窗口标题、大小、位置等属性 setTitle("主窗口"); setSize(600, 400); setLocationRelativeTo(null); // 添加菜单栏、工具栏、表格等控件 JMenuBar menuBar = new JMenuBar(); JMenu fileMenu = new JMenu("文件"); JMenuItem openItem = new JMenuItem("打开"); JMenuItem saveItem = new JMenuItem("保存"); fileMenu.add(openItem); fileMenu.add(saveItem); menuBar.add(fileMenu); setJMenuBar(menuBar); JToolBar toolBar = new JToolBar(); JButton newButton = new JButton("新建"); JButton cutButton = new JButton("剪切"); toolBar.add(newButton); toolBar.add(cutButton); add(toolBar, BorderLayout.NORTH); String[] columnNames = {"姓名", "年龄", "性别"}; Object[][] rowData = {{"张三", 20, "男"}, {"李四", 25, "女"}}; JTable table = new JTable(rowData, columnNames); JScrollPane scrollPane = new JScrollPane(table); add(scrollPane, BorderLayout.CENTER); } } // 程序入口 public class Main { public static void main(String[] args) { // 打开登录窗口 LoginFrame frame = new LoginFrame(); frame.setVisible(true); } } ``` 这个示例代码中,登录窗口中有一个“登录”按钮,用户输入用户名密码后点击该按钮,会调用`checkLogin()`方法进行验证。如果验证通过,会关闭登录窗口并打开主窗口,主窗口中包含了菜单栏、工具栏、表格等控件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值