什么是事件监听?
例如,点击按钮,弹出一个文本框,点击一个文本,文本被删除;
按钮、文本等组件就是事件源
事件就是从开始触发事件源到出现效果的一个过程
以下是一个案例,点击按钮,记录点击的次数
package cn.com.plane;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class EventDemo{
/*author:命运的信徒
* date:2019/1/18
* arm:记录点击鼠标的次数
*/
static JLabel jl1=new JLabel();
static int clicks;
private static void setPage(){
//1.设置窗体的内容和大小
JFrame jf=new JFrame("获取点击鼠标的次数");
//可以固定窗体的大小,很好
jf.setPreferredSize(new Dimension(300, 300));
//设置布局模式
BorderLayout flo=new BorderLayout();
//一个不同的按钮
JPanel jp=new JPanel(flo);
jf.add(jp);
JButton jb=new JButton("点我,你就有机会获取大奖");
//设置背景色
jb.setBackground(Color.red);
//设置前景色
jb.setForeground(Color.white);
//设置位置
jp.add(jb,flo.NORTH);
//最关键的地方,为这个button设置事件属性
//1.添加监听器
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//当鼠标点击的时候,就执行+1的操作
jl1.setText("按钮被点击了"+(clicks++)+"次");
}
});
jp.add(jl1,flo.SOUTH);
//2.设置关闭窗口的时候就是关闭程序的时候
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗体可见
jf.pack();
jf.setVisible(true);
}
public static void main(String[] args) {
setPage();
}
}
效果如下