package paint.lzj;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class ActionListener_1 extends JFrame implements ActionListener{
//mb3 mb=null;
JPanel p2=null;
JButton b1,b2;
@SuppressWarnings("deprecation")
public ActionListener_1(){
this.setSize(500, 500);
this.setLocation(200, 200);
JPanel p1=new JPanel();
//mb3 mb=new mb3();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JButton b1=new JButton("红色");
JButton b2=new JButton("黄色");
p1.add(b1);
//mb.setBackground(Color.BLUE);
p2.setBackground(Color.BLUE);
p3.add(b2);
this.add(p1, BorderLayout.NORTH);
//this.add(mb, BorderLayout.CENTER);
this.add(p2, BorderLayout.CENTER);
this.add(p3, BorderLayout.SOUTH);
b1.addActionListener(this);
b1.setActionCommand("111");
b2.addActionListener(this);
b2.setActionCommand("222");
this.show();
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
@SuppressWarnings("unused")
ActionListener_1 aa=new ActionListener_1();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
//System.out.println("按钮起作用了");
if(e.getActionCommand().equals("111")){
//mb.setBackground(Color.RED);
//System.out.println("a按钮起作用了");
p2.setBackground(Color.RED);
}
else if(e.getActionCommand().equals("222")){
//mb.setBackground(Color.YELLOW);
//System.out.println("b按钮起作用了");
p2.setBackground(Color.YELLOW);
}
}
}
上面的代码可以出现窗口但是执行不了监听里的p2.setBackground(Color.RED);p2.setBackground(Color.YELLOW);
这两行代码
好乱,你的b1,b2怎么声明两次。e.getActionCommand()拿到的值转成String吧,顺便把e.getActionCommand()的值输出来看看是不是
。。。。。
debug
。??
@lzj123: 调试,调试一下就行了
。。。。。。。。。。