java监听事件_java监听事件处理

我写的代码是这样的:packagecom.chenlang;importjava.awt.*;importjavax.swing.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclassTestextendsJF...

我写的代码是这样的:

package com.chenlang;

import java.awt.*;

import javax.swing.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

public class Test extends JFrame implements ActionListener{

JPanel jp=null;

JButton jb1=null;

JButton jb2=null;

public static void main(String[] args) {

// TODO Auto-generated method stub

Test t=new Test();

}

public Test()

{

jp=new JPanel();

jb1=new JButton("黑色");

jb2=new JButton("红色");

this.add(jb1,BorderLayout.NORTH);

jp.setBackground(Color.BLACK);

this.add(jp);

this.add(jb2,BorderLayout.SOUTH);

Cat mycat=new Cat();

//指定监听命令

jb1.addActionListener(mycat);

jb1.addActionListener(this);

jb1.setActionCommand("aa");

jb2.addActionListener(mycat);

jb2.addActionListener(this);

jb2.setActionCommand("bb");

this.setSize(200,150);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

//对事件的处理方法

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(e.getActionCommand().equals("aa"))

{

System.out.println("你点击了黑色");

jp.setBackground(Color.BLACK);

}

else if(e.getActionCommand().equals("bb"))

{

System.out.println("你点击了红色");

jp.setBackground(Color.RED);

}

else

{

System.out.println("不知道");

}

}

}

class Cat implements ActionListener

{

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(e.getActionCommand().equals("aa"))

{

System.out.println("猫也知道你按下了黑色按钮");

}

else if(e.getActionCommand().equals("bb"))

{

System.out.println("猫也知道你按下了红色按钮");

}

}

}

如果我想要点击红色按钮之后,再次点击红色按钮,颜色变成黄色(就比如点击下一个颜色,然后自动变色),应该怎么改代码?

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值