日志8.26:java事件处理机制

这两天看的零零散散的,以后还是系统的跟着课程的内容走,不要钻牛角尖,明天还要和小婶一家出去逛天坛,赶紧写完日志睡觉。开始总结:


1.任何一个类,只要它实现了相应的接口,就可以去监听某个事件源。

2.一个类要实现监听的步骤:

a.实现相应的接口【KeyListener,MouseListener,ActionListener,WindowListener】

b.把接口的处理方法根据需要编写(override)

c.在事件源上注册监听

d.事件传递是靠事件对象

3.一个事件源可能会生成多个不同类型的事件。

4.事件源是一个产生(或触发)事件的对象。

5.事件就是承载事件源状态改变时的信息对象,或者说,事件是事件源向事件监听器传输事件源状态信息的载体。


今天总结的内容稍微少一点,因为确实没啥内容可总结的,下面写一个小案例,如图,未点击时中间面板为灰色,当点击“黑色”按钮时,中间面板背景颜色变黑色,点“红色”按钮,相对应变红色:


日志8.26:java事件处理机制_第1张图片
日志8.26:java事件处理机制_第2张图片
日志8.26:java事件处理机制_第3张图片

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);

}

}

大功告成,碎觉碎觉...

你可能感兴趣的:(日志8.26:java事件处理机制)