其他分享
首页 > 其他分享> > 学习监听事件

学习监听事件

作者:互联网

单监听事件

 

 当我们点击按钮时,控制台能得到执行这个按钮产生的行为,即点击这个按钮得到什么样的结果,这就是事件的监听

实现代码:

//行为事件
public class TestActionEvent {
public static void main(String[] args) {
//按下按钮,触发一些事件
Frame frame = new Frame();
Button button = new Button("test");

//因为addActionListener()需要一个ActionListener,所以我们需要构造一个ActionListener

MyActionListener myActionListener = new MyActionListener();
button.addActionListener(myActionListener);

//把button放到frame的中间
frame.add(button,BorderLayout.CENTER);
//自适应大小
frame.pack();
frame.setVisible(true);

//关闭窗口事件
windowClose(frame);
}

//关闭窗体的事件方法
private static void windowClose(Frame frame){
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
//事件监听
class MyActionListener implements ActionListener{

@Override
public void actionPerformed(ActionEvent e) {
System.out.println("aaa");
}
}

 

=============================================================================================

两个按钮实现同一个监听

 

对于 button1代码里面没有显示定义,所以在点击button1之后,控制台就默认显示:start

但是对于button2按钮,我是在里面有显示定义的所以显示的信息为:button2-stop

实现代码:

//开始   停止
public class TestActionTwo {
public static void main(String[] args) {
Frame frame = new Frame("开始-停止");
Button button1 = new Button("start");
Button button2 = new Button("stop");

//可以显示的定义触发会返回的命令,如果不显示定义,则会走默认的值
//可以多个按钮只写一个监听类
button2.setActionCommand("button2-stop");

MyMonitor myMonitor = new MyMonitor();
button1.addActionListener(myMonitor);
button2.addActionListener(myMonitor);


frame.add(button1, BorderLayout.NORTH);
frame.add(button2, BorderLayout.SOUTH);

frame.pack();
frame.setVisible(true);
windowClose(frame);

}
private static void windowClose(Frame frame){
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}

class MyMonitor implements ActionListener{

@Override
public void actionPerformed(ActionEvent e) {
System.out.println("按钮被点击了:msg-->"+e.getActionCommand());
if (e.getActionCommand().equals("stop")){


}
}
}
补充说明:最后的if里面是一个判断语句,当按钮满足某些情况时就可以将满足实现的代码写到里面,当不满足情况时就执行另外的一条语句,这样就避免了重复写代码,实现
多个按钮只写一个监听类,减少代码量。

标签:frame,public,学习,button2,void,事件,按钮,new,监听
来源: https://www.cnblogs.com/tuyin/p/15679888.html