日志8.26:java事件处理机制
这两天看的零零散散的,以后还是系统的跟着课程的内容走,不要钻牛角尖,明天还要和小婶一家出去逛天坛,赶紧写完日志睡觉。开始总结:
1.任何一个类,只要它实现了相应的接口,就可以去监听某个事件源。
2.一个类要实现监听的步骤:
a.实现相应的接口【KeyListener,MouseListener,ActionListener,WindowListener】
b.把接口的处理方法根据需要编写(override)
c.在事件源上注册监听
d.事件传递是靠事件对象
3.一个事件源可能会生成多个不同类型的事件。
4.事件源是一个产生(或触发)事件的对象。
5.事件就是承载事件源状态改变时的信息对象,或者说,事件是事件源向事件监听器传输事件源状态信息的载体。
今天总结的内容稍微少一点,因为确实没啥内容可总结的,下面写一个小案例,如图,未点击时中间面板为灰色,当点击“黑色”按钮时,中间面板背景颜色变黑色,点“红色”按钮,相对应变红色:



import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Demo extends JFrame implements ActionListener
{
JButton jb1,jb2;
JPanel jp;
public Demo()
{
jb1=new JButton("黑色");
jb2=new JButton("红色");
jp=new JPanel();
this.setLayout(new BorderLayout()); //注意要new一个,下次不要再犯错了
this.add(jb1,BorderLayout.NORTH);
this.add(jp); //默认中部就不需要重写了
this.add(jb2,BorderLayout.SOUTH);
jb1.addActionListener(this); //注册监听
jb1.setActionCommand("黑色"); //设置传输命令
jb2.addActionListener(this);
jb2.setActionCommand("红色");
this.setSize(300,200);
this.setTitle("监听按钮");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String args[])
{
Demo demo=new Demo();
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("黑色"))
jp.setBackground(Color.BLACK);
else if(e.getActionCommand().equals("红色")
jp.setBackground(Color.RED);
}
}
大功告成,碎觉碎觉...