import javax.swing.*;
import java.awt.*;
import java.awt.event.*;//2~4行:添加swing、AWT和Event(事件)库
public class g extends JFrame implements ActionListener{//创建类g继承于类JFrame,实现接口ActionListener(事件监听器)。
JPanel LoginPan;
JButton btnLogin,btnExit;
JLabel lblUser,lblPassword,lblLogo;
JTextField txtUser;
JPasswordField pwdPassword;
Dimension DsSize;//6~11行:定义变量
Toolkit toolkit=Toolkit.getDefaultToolkit();
public g() {//12~13行:定义构造方法
super("登陆页面");//设置页面标题
LoginPan=new JPanel();
this.getContentPane().add(LoginPan);//15~16行:定义容器并添加到页面中
lblUser=new JLabel("用户名");
lblPassword=new JLabel("密 码");
txtUser=new JTextField(20);
pwdPassword=new JPasswordField(20);
btnLogin=new JButton("确定");
btnExit=new JButton("取消");//17~22行:定义各个组件:标签(用户名、密码)、文本框、密码框、按钮(确定、取消)。
btnLogin.addActionListener(this);
btnExit.addActionListener(this);//23~24行:为确定和取消按钮添加监听器(方法)
Font fontstr=new Font("宋体",Font.PLAIN,13);//设置文本格式
lblUser.setFont(fontstr);
txtUser.setFont(fontstr);
lblPassword.setFont(fontstr);
pwdPassword.setFont(fontstr);
btnLogin.setFont(fontstr);
btnExit.setFont(fontstr);//26~31行:设置组件的文本格式
lblUser.setForeground(Color.BLACK);
lblPassword.setForeground(Color.BLACK);
btnLogin.setBackground(Color.LIGHT_GRAY);
btnExit.setBackground(Color.LIGHT_GRAY);//32~35行:设置标签(用户名、密码)、按钮(确定、取消)的背景颜色。
LoginPan.add(lblUser);
LoginPan.add(txtUser);
LoginPan.add(lblPassword);
LoginPan.add(pwdPassword);
LoginPan.add(btnLogin);
LoginPan.add(btnExit);//36~41行:将组件添加到容器中
LoginPan.setLayout(null);//采用null布局
lblUser.setBounds(30,10,60,25);
lblPassword.setBounds(30,40,60,25);
txtUser.setBounds(80,10,150,25);
pwdPassword.setBounds(80,40,150,25);
btnLogin.setBounds(40,80,80,25);
btnExit.setBounds(140,80,80,25);//43~48行:设置各个组件在容器中的位置
setResizable(false);
setSize(280,150);
setVisible(true);//49~51行:设置页面的大小、可见性、是否可改变大小
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==btnLogin) {
if((txtUser.getText().equals("User"))&&(pwdPassword.equals("123456")))
JOptionPane.showMessageDialog(null,"登陆成功!");
else
JOptionPane.showMessageDialog(null,"用户名或者密码错误!");
}
if(e.getSource()==btnExit)
System.exit(0);//54~61行:判断输入的用户名和密码是否正确,如果正确,则输出“登陆成功!”;如果不正确,则输出“用户名或密码不正确!”。
}
public static void main(String[] args) {
// TODO Auto-generated method stub
g load=new g();
}
}
运行结果如下:
知识要点:
1、事件处理概述:事件是用户对程序某一种功能的操作。
事件可以分为两大类:低级事件和高级事件。
事件处理需要注意以下3个方面:1)、事件产生的来源。2)、要处理什么事件。3)、编写事件处理程序。
2、WindoeEvent事件处理:为窗口添加事件监听时的接口WindowListener。
3、KeyEvent事件处理:KeyEvent实现对键盘事件的处理,它是类InputEvent的一个子类。
4、MouseEvent事件处理:MouseEvent实现鼠标事件的处理,它是类InputEvent的另一个子类。鼠标事件分两类:一类是在鼠标按键时产生的事件,使用的监听器为MouseLisenter;另一类是在鼠标移动时产生的事件,使用的监听器为MouseMontionLisenter。