import java.awt.*;
import javax.swing.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LoadIn extends JFrame implements ActionListener {//创建类LoadIn继承于类JFrame,实现接口ActionListener
JPanel loginPan;//定义变量
JButton btnLogin,btnExit;//定义登录按钮和退出按钮
JLabel lblUser,lblPassword,lblLogo;//定义变量
JTextField txtUser;//定义变量
JPasswordField pwdPasssword;//定义变量
Dimension daSize;//定义变量
Toolkit toolkit=Toolkit.getDefaultToolkit();
public LoadIn(){//定义构造方法
super("登录界面");//设置界面标题
loginPan=new JPanel();//定义容器并添加到界面中
this.getContentPane().add(loginPan);
lblUser=new JLabel("用户名:");//定义用户名
lblPassword=new JLabel("密码:");//定义密码
txtUser=new JTextField(20);//定义文本框
pwdPasssword=new JPasswordField(20);//定义密码框
btnLogin=new JButton("确定");//定义确定按钮
btnExit=new JButton("取消");//定义退出按钮
btnLogin.addActionListener(this);//给确定按钮添加方法
btnExit.addActionListener(this);//给退出按钮添加方法
Font fontstr=new Font("宋体",Font.PLAIN,13);//设置文本格式
lblUser.setFont(fontstr);
txtUser.setFont(fontstr);
lblPassword.setFont(fontstr);
pwdPasssword.setFont(fontstr);
btnLogin.setFont(fontstr);
btnExit.setFont(fontstr);
lblUser.setForeground(Color.BLACK);//定义颜色
lblPassword.setForeground(Color.BLACK);//定义颜色
btnLogin.setForeground(Color.BLACK);//定义颜色
btnExit.setForeground(Color.BLACK);//定义颜色
loginPan.add(lblUser);//将组件添加到容器中
loginPan.add(txtUser);//将组件添加到容器中
loginPan.add(lblPassword);//将组件添加到容器中
loginPan.add(pwdPasssword);//将组件添加到容器中
loginPan.add(btnLogin);//将组件添加到容器中
loginPan.add(btnExit);//将组件添加到容器中
loginPan.setLayout(null);//采用null布局
lblUser.setBounds(30,10,60,25);//设置组件在容器中的位置
lblPassword.setBounds(30,40,60,25);//设置组件在容器中的位置
txtUser.setBounds(80,10,150,25);//设置组件在容器中的位置
pwdPasssword.setBounds(80,40,150,25);//设置组件在容器中的位置
btnLogin.setBounds(40,80,80,25);//设置组件在容器中的位置
btnExit.setBounds(140,80,80,25);//设置组件在容器中的位置
setResizable(false);
setSize(280,150);//设置界面的大小
setVisible(true);//设置界面的可见性
}
public void actionPerformed(ActionEvent ae){//判断输入的用户名和密码是否正确
if(ae.getSource()==btnLogin){
if((txtUser.getText().equals("user"))&&(pwdPasssword.equals("user")))
JOptionPane.showMessageDialog(null, "登录成功!");
else
JOptionPane.showMessageDialog(null,"用户名或密码错误!");
}
if(ae.getSource()==btnExit)
System.exit(0);
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
LoadIn load=new LoadIn();//实例化
}
}
运行结果:
知识要点:
1.事件处理:事件是用户对程序某一种功能的操作,在实际过程中,事件处理的一般步骤有三种。
1)定义事件的类并实现事件的监听器接口。
2)在创建组件时注册事件的监听器。
3)在事件处理类中重写事件处理的方法体。
2.WindowEvent:给窗口添加事件监听的接口为WindowListener,给窗口添加事件监听的方法为add WindowListener(this)。
3.KeyEvent:实现对键盘事件的处理,是InputEvent的一个子类。
4.MouseEvent:实现对鼠标事件的处理,是InputEvent的另一个子类。