java.awt.event.*
javax.swing.event.*
事件监听类:ActionListerer
qq聊天
1、继承JFrame、继承ActionListerer(实现actionPerformed(ActionEvent e) 方法)
2、组件,面板(绘图图形),面板,布局等
3、监听:组件1.addActionListerer(this):this监听
组件1.setActionCommand(“aaa”):组件设置标识
组件1.addActionListerer(jiantingzhe):监听者监听(不仅this监听)
组件1.setActionCommand(“bbb”)
jiantingzhe 是一个继承了ActionListerer()的类,他监听了上一个监听(连环监听)
public class QQ extends JFrame implements ActionListerer
{
JButton an1,an2;
mymb1 mb=null;
jtz jtz=null;
public static void main(String[] args)
{
QQ qq=new QQ();
}
public QQ()
{
an1=new JButton("打开");
an2=new JButton("关闭");
mb=new mymb1();
mb.setBackGroud(Color.blue);
//设置监听:设置监听者,并设置需要被监听的事件(e)标志(作为监听类里actionPerformed(ActionEvent e)当中e的一个属性
an1.setActionListerer(this);设置监听的人(找监管的人)
//如果找this来监听,那么this这个类要实现ActionListerer()接口及实现他的actionPerformed(ActionEvent e)
an1.setActionCommand(jtz);//如果找其他类(jtz)来监听,那么其他类就必须实现ActionListerer()接口及实现actionPerformed(ActionEvent e)
an1.setActionCommand("111");一般在监听后设置(相当于e.getCommand()=="111")
an2.setActionListerer(this);
an2.setActionListerer(jtz);
an2.setActionCommand("222");
this.add(an1,BorderLayout.SOUTH);
this.add(an2,BorderLayout.NORTH);
this.add(mb);
this.setLocation(100,119);
this.setSize(120,130);
this.setResizeable(true);
this.setDefaultCloseOperetion(JFrame.CLOSE_ON_EXIT);
this.setViserable(true);
}
public void actionPerformed(ActionEvent e)
{
System.out.println("按钮起作用了");
}
}
class mymb1 extends JPanel
{
public void paint(Graphics g)
{
super.paint(g);
}
}
class jtz implements ActionListerer
{
public void actionPerformed(ActionEvent e)
{
if(e.getCommand().equals("111"))
{
System.out.println("你被监听到按下了打开按钮")
}
else if(e.getCommand().equals("222"))
{
System.out.println("你被监听到按下了关闭按钮")
}
}