事件处理时可以选择不同的方式,刚刚介绍的那种是最基本的。下面另外介绍三种方式:
一:使用内部类实现事件处理
案例:使用内部类处理事件的方法(鼠标单击文本框时清除文本框中的内容)
public class LoginFrame1 extends JFrame {
private JPanel jPanel;
//标签控件
private JLabel title;
private JLabel username;
private JLabel userpwd;
//输入用户名的文本框控件
private JTextField txtUserName;
//输入密码的密码框控件
private JPasswordField pwdUserPwd;
//登录和退出按钮控件
private JButton btnLogin;
private JButton btnQuit;
private LoginFrame1() {
//实例化容器和各种控件
jPanel = new JPanel(null);
title = new JLabel("用户登录");
username = new JLabel("用户姓名");
userpwd = new JLabel("用户密码");
txtUserName = new JTextField();
pwdUserPwd = new JPasswordField();
btnLogin = new JButton("登录");
btnQuit = new JButton("退出");
init();
}
private void init() {
this.setTitle("这是窗口呀");
this.setSize(300, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
//设置控件坐标
title.setBounds(100, 10, 100, 30);
username.setBounds(20, 60, 75, 25);
userpwd.setBounds(20, 100, 75, 25);
txtUserName.setBounds(100, 60, 120, 25);
pwdUserPwd.setBounds(100, 100, 120, 25);
btnLogin.setBounds(50, 140, 75, 25);
btnQuit.setBounds(150, 140, 75, 25);
//在用户姓名的文本框中添加默认文本
txtUserName.setText("请输入用户姓名");
//在用户姓名的文本框上添加鼠标事件
txtUserName.