Java_登录界面设计

前两个博客介绍了一下Java中的类与对象,以及界面设计,这篇博客就结合这两个知识点来说说如何设计一个简单的登录界面。
第一步 创建窗体对象

	JFrame loginFrame = new JFrame();
	loginFrame.setTitle("登录");
	loginFrame.setSize(400, 400);
	loginFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序
	loginFrame.setLocationRelativeTo(null);//居中显示
	//流式布局
	FlowLayout fl = new FlowLayout();
	loginFrame.setLayout(fl);

第二步 创建组件对象

	//创建组件对象
	//图片
	ImageIcon img = new ImageIcon("src/image/1.png");
	JLabel imgjla = new JLabel(img);
	//按钮
	JButton btn = new JButton("登录");
	JButton rgbtn = new JButton("注册");
	//标签
	JLabel namejla = new JLabel("账号");
	JLabel pwdjla = new JLabel("密码");
	//输入框
	JTextField nameField = new JTextField();
	JPasswordField pwdField = new JPasswordField();
	//复选框
	JCheckBox rmbox = new JCheckBox("记住密码");
	
	//设置组件对象的属性
	Dimension indim = new Dimension(330,30);
	nameField.setPreferredSize(indim);
	pwdField.setPreferredSize(indim);
		
	//添加组件对象到容器上
	loginFrame.add(imgjla);
	loginFrame.add(namejla);
	loginFrame.add(nameField);
	loginFrame.add(pwdjla);
	loginFrame.add(pwdField);
	loginFrame.add(btn);
	loginFrame.add(rgbtn);
	loginFrame.add(rmbox);
	loginFrame.setVisible(true);

现在基本的页面已经设计好了,运行一下,看一下效果

第三步 添加事件监听器
监听器用来监听对象的创建、销毁、增加,修改,删除等动作的发生,当监听范围的对象的状态发生变化的时候,就会自动调用监听器对象中的方法,作出相应的响应处理。
监听方式有两种形式,类内监听和类外监听

	//类内监听,在主类中进行监听
	btn.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			String str = e.getActionCommand();	
			if(str.equals("登录")) {
				System.out.println("点击了登录!");
			}
		}
	});
	//类外监听,在主类外创建监听类
	public class LoginListener implements ActionListener{
	JTextField nameField;
	JPasswordField pwdField;
	List<String> namelist=new ArrayList<>();
	List<String> pwdlist=new ArrayList<>();
	boolean flag = false;
	
	public void actionPerformed(ActionEvent e) {
		String btnstr = e.getActionCommand();
		String namestr = nameField.getText();
		String pwdstr = pwdField.getText();
		namelist.add("admin");
		pwdlist.add("admin");
		if(btnstr.equals("登录")) {
			for(int i = 0 ; i < namelist.size() ; i++) {
	             if(namestr.equals(namelist.get(i))&&pwdstr.equals(pwdlist.get(i))) {
					flag = true;
				}
			}
			if(flag==true) {
				System.out.println("账号密码正确! 登录成功!");
			}else {
				System.out.println("账号密码错误! 登录失败!");
			}
		}
		else if(btnstr.equals("注册")){
			namelist.add(namestr);
			pwdlist.add(pwdstr);
			System.out.println(namestr+"注册成功!");
		}
	}
}
	//在主类中传入监听类
	LoginListener loginlistener = new LoginListener();
	btn.addActionListener(loginlistener);
	rgbtn.addActionListener(loginlistener);
	loginlistener.nameField = nameField;
	loginlistener.pwdField = pwdField;

这样一个简单的登录页面就设计好啦,后续有时间的话,我会在登录的基础上,设计更多功能。

  • 8
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值