登入界面的创建与监听器

登入界面的创建与监听器

界面

1、创建一个界面所需要的组件

首先我们需要考虑一个界面的组件有哪些。

元素组件:输入(按钮、输入框)输出(显示文字、图片);这些元素组件提供了和用户的交互功能,让用户能输入账号,密码等。

但是为了将这些元素组件整合在一起,我们还需要一个组件来装纳其他组件,这个组件我们称为顶级容器组件,也就是界面。通过界面来使其他组件显示。

将这些组件整合在一起后,我们不可能让他们杂乱无章的在界面中因此我们还要设定这个界面的布局方式,让界面上的组件有序的排列在界面中。通常我们都是使用流式布局.(流式布局:将所有的组件从左到右依次摆放,一行摆放不下下一个组件,则自动切换一行。)

2、创建界面

在我们知道了如何创建一个界面后,我们可以开始编写一个界面。

我们首先需要调用编写界面所需要的两个包:

awt: java.awt包下,java早期使用的界面开发包,布局、监听器、尺寸等等仍然保留使用。

swing: javax.swing包下,组件类的类名以J开头。

然后我们需要知道各个界面组件的代码:

文本输入框 JTextField

密码输入框 JPasswordField

复选框 JCheckBox

登录按钮 JButton

显示文字的标签 JLabel

显示图片的标签 JLabel

顶级容器组件 JFrame

图片 javax.swing.ImageIcon

流式布局 java.awt.FlowLayout

尺寸 java.awt.Dimension

居中 loginFrame.setLocationRelativeTo(null)

我们开始编写代码

先创建窗体


import javax.swing.JFrame;

import javax.swing.JLabel;

import java.awt.FlowLayout;

import javax.swing.JTextField;

import java.awt.Dimension;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JPasswordField;

import javax.swing.JCheckBox;

public class LoginUI {

public void showUI() {

//创建一个窗体对象

JFrame loginFrame = new JFrame();

//设置窗体的属性:大小、关闭的默认操作

loginFrame.setSize(600, 450);

loginFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//设置窗体的布局

FlowLayout layout = new FlowLayout();

loginFrame.setLayout(layout);

接着创建一个图片对象


//创建一个图片对象

ImageIcon icon = new ImageIcon("qqface_0_web.gif");

//创建一个显示图片的标签对象

JLabel iconLabel = new JLabel(icon);

//设置图片大小

Dimension iconSize = new Dimension(300,100);

iconLabel.setPreferredSize(iconSize);

//添加图片标签到窗体上

loginFrame.add(iconLabel);

注:ImageIcon(“qqface_0_web.gif”);该函数括号内的是图片的文件名和地址,如果直接将图片放入包中则只需要文件名。

创建密码框和输入框以及一些小的细节


//创建一个文本输入框对象

JTextField nameInput = new JTextField();

//设置输入框的大小

Dimension inputSize = new Dimension(300, 30);

nameInput.setPreferredSize(inputSize);

//添加输入框到窗体上

loginFrame.add(nameInput);



//创建一个显示文字的标签

JLabel registerLabel = new JLabel("注册账号");

//设置大小

Dimension labelSize = new Dimension(100,30);

registerLabel.setPreferredSize(labelSize);

//添加到窗体上

loginFrame.add(registerLabel); 



//创建一个密码输入框对象

JPasswordField Input = new JPasswordField();

//设置输入框的大小

Dimension inputSize1 = new Dimension(300, 30);

Input.setPreferredSize(inputSize1);

//添加输入框到窗体上

loginFrame.add(Input);



//创建一个显示文字的标签

JLabel registerLabel1 = new JLabel("找回密码");

//设置大小

Dimension labelSize1 = new Dimension(100,30);

registerLabel1.setPreferredSize(labelSize1);

//添加到窗体上

loginFrame.add(registerLabel1); 

创建登入按钮


//创建一个登入按钮

JButton Button=new JButton("登入");

//设置大小

Dimension ButtonSize = new Dimension(300,30);

Button.setPreferredSize(ButtonSize);

//添加到窗体上

loginFrame.add(Button);}

最后显示页面的主方法


//主方法

public static void main(String[] args) {

//创建界面类的对象

LoginUI ui = new LoginUI();

//显示界面

ui.showUI();

}

}

效果如下在这里插入图片描述

但是如果只是这样的界面并无法实现检测登入成功或失败的结果。所以我们为使界面能够更加的满足平常的使用需求,我们需要对输入的账号和密码进行检测,判断是否登入成功。因此我们需要进行一定的判断,这就需要给按钮添加监听器。

监听器

1、监听器的原理

在生活中,我们大都知道监听器是如何工作的,而java中监听器工作是依靠事件监听机制来工作的。(事件监听机制):给事件源组件添加事件监听器,当事件源上发生相应类型的事件时,则自动的调用事件监听器中事件处理方法。
事件:用外部设备操作组件。可分为以下几类:

鼠标事件: 用鼠标操作组件(关注:鼠标操作的位置、类型)

键盘事件: 用键盘操作组件

动作事件: 用鼠标点击按钮(关注:是否点击、点击的是哪一个按钮)

事件源:事件发生的源组件。

事件监听器:每一种类型的事件都有一个对应类型的事件监听器,与事件对应也可分为几类:

鼠标事件监听器: MouseListener

键盘事件监听器: KeyListener

动作事件监听器: ActionListener

这些监听器实际上都是接口类型。

2、实现监听的过程

事件监听实现步骤

第一步:确定事件源

对于这个登入界面来说,登录按钮便是事件源,当按钮按下时检测账号密码的输入对错。

第二步:确定事件类型

因为是按钮被点击后进行检测,所以按钮被点击是动作事件

第三步:创建一个监听器类,实现对应的监听器接口

第四步:创建监听器的对象,给事件源添加监听器

我们先将登入按钮创建为监听对象,通过其被点击来进行判断。


//创建监听器对象

enter bt = new enter();

//给按钮添加监听器

Button.addActionListener(bt);

//给监听器的属性赋值

bt.nameInput = nameInput;

bt.Input = Input;

//设置窗体可见

loginFrame.setVisible(true); 

对输入的账号密码进行判断并根据不同情况显示不同界面

import java.awt.event.ActionEvent; import
java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
public class enter implements ActionListener{
 //接口的属性 密码和账号
 JTextField  nameInput;
 JPasswordField  Input;
 public void actionPerformed(ActionEvent e) {
  String number=nameInput.getText();
  String password=Input.getText();
  if(number.equals("1183636939")&&password.equals("123456789"))
{
JOptionPane.showConfirmDialog(null,"登入成功","登入成功",JOptionPane.YES_NO_OPTION);
  } else{
    JOptionPane.showMessageDialog(null, "登入失败","登入失败",JOptionPane.ERROR_MESSAGE);
   System.out.println("登录失败!");
  }  
  //输出
 }
}

如此,我们就可以创建一个判断登入成功与否的界面了。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现登录界面监听器的连接需要以下步骤: 1. 创建一个监听器类,实现对应的监听器接口(如 ActionListener 等)并重写需要监听的方法。 2. 在登录界面中,找到需要添监听器的组件(如按钮),调用该组件的 addActionListener 方法,将监听器对象传入。 3. 在监听器的重写方法中,编写响应事件的代码逻辑。 以下是一个简单的示例代码,演示如何在登录界面中添 ActionListener 监听器,当用户点击登录按钮时触发监听器执行相应的操作: ``` import javax.swing.*; import java.awt.*; import java.awt.event.*; public class LoginFrame extends JFrame { private JTextField usernameField; private JPasswordField passwordField; private JButton loginButton; public LoginFrame() { // 创建登录窗口的 GUI 组件 usernameField = new JTextField(20); passwordField = new JPasswordField(20); loginButton = new JButton("登录"); // 将登录按钮注册 ActionListener 监听器 loginButton.addActionListener(new LoginListener()); // 将 GUI 组件添到窗口中 JPanel panel = new JPanel(); panel.add(new JLabel("用户名:")); panel.add(usernameField); panel.add(new JLabel("密码:")); panel.add(passwordField); panel.add(loginButton); this.add(panel); this.pack(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } // 定义 ActionListener 监听器类 private class LoginListener implements ActionListener { public void actionPerformed(ActionEvent e) { // 获取用户输入的用户名和密码 String username = usernameField.getText(); String password = new String(passwordField.getPassword()); // 检查用户名和密码是否正确 if (username.equals("admin") && password.equals("admin")) { // 登录成功,显示欢迎界面 JOptionPane.showMessageDialog(LoginFrame.this, "欢迎 " + username + " 登录!"); } else { // 登录失败,显示错误提示 JOptionPane.showMessageDialog(LoginFrame.this, "用户名或密码错误!"); } } } public static void main(String[] args) { new LoginFrame(); } } ``` 在上面的代码中,我们在登录按钮上注册了一个 LoginListener 监听器,并在其中实现了登录逻辑。当用户点击登录按钮时,就会触发该监听器的 actionPerformed 方法,从而执行登录操作。注意,在 LoginListener 类中,我们可以直接访问 LoginFrame 类中的其他成员变量和方法,因为 LoginListener 是 LoginFrame 的内部类。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值