swing动作事件监听器
动作事件由ActionEvent类定义,最常用的是当单击按钮后将产生动作事件.
ActionEvent类中有两个常用的方法
1)getSource():用来获得触发此次事件的组件对象,返回值类型为Object;
2)getActionCommand():用来获得与当前动作相关的命令字符串,返回值类型为String。
//创建响应动作监听器的类,重写ActionListener接口的actionPerformed()方法
class jbhander implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
jtextfield1.setText("单击按钮 " + (++clicks) + " 次");
//显示单击的总次数
}
}
//创建按钮1
JButton jbt1 = new JButton("按钮1");
//按钮1添加动作监听器
jbt1.addActionListener(new jbhander());
完整代码如下:
import javax.swing.JFrame;//顶层容器 (框架)
import javax.swing.JPanel; //中间容器(常用的面板)
import javax.swing.JButton; //按钮
import javax.swing.JTextField; //文本框实现类
import java.awt.event.ActionEvent;//动作事件
import java.awt.event.ActionListener;//动作事件监听接口
public class TxtActionEvent {
static int clicknum =0;
public static void main(String[] args) {
JFrame jframe1 = new JFrame("重写ActionListener接口"); //窗口
jframe1.setSize(400, 100); //设置窗口大小
JPanel jpanel1 = new JPanel(); //面板1
jframe1.add(jpanel1); //面板添加入窗口
JButton jbt1 = new JButton("Button1"); //按钮1
jpanel1.add(jbt1); //按钮1添加入面板
JTextField jtextfield1 = new JTextField("",18); //长度18列的,显示的文本框
jpanel1.add(jtextfield1); //文本框添加入面板
jframe1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭时操作
jframe1.setVisible(true); //设置可见
//创建响应动作监听器类,重写ActionListener接口的actionPerformed()方法
class jbt1_hander implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
jtextfield1.setText("单击Button1 " + (++clicknum) + " 次");
}
}
//为按钮注册(添加)动作监听器
jbt1.addActionListener(new jbt1_hander());
}
}
运行代码,单击按钮1 8次,显示如下