事件监听

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("你被监听到按下了关闭按钮")
        }
    } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值