我写的代码是这样的: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("猫也知道你按下了红色按钮");
}
}
}
如果我想要点击红色按钮之后,再次点击红色按钮,颜色变成黄色(就比如点击下一个颜色,然后自动变色),应该怎么改代码?
展开