简单的登陆界面与监听器

package login;
//********************华丽的分割线****************************************************
//引用一个类到当前类中,便于使用
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import java.awt.FlowLayout;

//定义一个Login类
public class Login extends JFrame {

//定义主函数
public static void main (String [] args){

//实例化一个Login类的对象
Login login =new Login();
//调用方法
login.showUI();
}

//创建一个界面实现的方法
public void showUI(){

//设置窗体的属性
this.setTitle("登陆界面");
this.setSize(300, 200);
this.setResizable(false);
this.setDefaultCloseOperation(3);
this.setLayout(new FlowLayout());

//创建帐号的文本标签对象和输入框对象
JLabel lblName = new JLabel("帐号:");
JTextField txtName = new JTextField(20);
this.add(lblName);
this.add(txtName);

//创建密码的文本标签对象和输入框对象
JLabel lblPassword = new JLabel("密码:");
JPasswordField txtPassword = new JPasswordField(20);
this.add(lblPassword);
this.add(txtPassword);

//创建一个登陆按钮对象并添加到窗体
JButton btnLogin = new JButton("登录");
this.add(btnLogin);

//创建一个登陆监听器的对象
LoginListener eee = new LoginListener(txtName,txtPassword);

//事件源是按钮,要给事件源添加一个动作监听器方法
//LoginListener是ActionListener接口的子类,所以可以使用自动转型
btnLogin.addActionListener(eee);
txtPassword.addActionListener(eee);

this.setVisible(true);


}
}

//***********************华丽的分割线******************************************

package login;

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

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

/**
* 登陆的动作类,该类要直接实现ActionListener接口
*
* @author 尹定宇
*
* */


public class LoginListener implements ActionListener{

//声明一个帐号输入框对象属性
private JTextField txtName;
private JPasswordField txtPassword;
/**
* 定义一个带帐号和密码输入框的构造函数
**/
public LoginListener(JTextField txtName,JPasswordField txtPassword){

//给属性赋值
this.txtName = txtName;
this.txtPassword = txtPassword;
}
/**
* 每当产生一个对象的时候,就会自动地调用该方法
*
* @param e
* :动作事件对象,该对象中会存储事件源和动作的信息
*/
public void actionPerformed(ActionEvent e){

//输出getActionCommand()方法得到的按钮上的值
System.out.println("你点击了"+e.getActionCommand()+"按钮");

/**
* 1.获取用户输入的帐号和密码
* 2.判断帐号和密码是否正确
* 3.判断结果。并输出不同的值
*/
//得到用户的账号
String username = txtName.getText();
//得到用户输入的密码
char [] pwd = txtPassword.getPassword();
//将字符数组转换为字符串
String password =new String(pwd);

//判断帐号和密码是否正确,如果正确则显示用户帐号和密码,如果不正确,则显示消息提示框
if(username.equals("admin")&&password.equals("admin")){

//创建一个窗体对象
JFrame jf = new JFrame();
jf.setTitle("用户信息");
jf.setSize(300,100);

//创建一个现实帐号和密码的文本标签对象
JLabel lbl = new JLabel("帐号:"+username+"   密码:"+password);
jf.add(lbl);
jf.setVisible(true);
}else{

//显示一个消息提示框,第一个参数是不指定父窗体,第二个参数是表示要显示的文本值
JOptionPane.showMessageDialog(null, "你输入的账号或密码不正确,请重新输入");
}
}



}

//***********************华丽的分割线******************************************
这段代码几乎是完全抄来的,不过自己看看还是懂了,呵呵

你可能感兴趣的:(swing)