日期:2014-05-20  浏览次数:20698 次

事件监听
package com.Fun;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Demo1 extends JFrame implements ActionListener {

JPanel jf1;
JButton jb1,jb2;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo1 d1=new Demo1();
}
public Demo1()
{
jf1=new JPanel();
jf1.setBackground(Color.blue);
jb1=new JButton("黑色");
jb2=new JButton("红色");


this.add(jb1,BorderLayout.NORTH);
this.add(jb2,BorderLayout.SOUTH);
this.add(jf1);

//设置监听的对象
jb1.addActionListener(this);
jb1.setActionCommand("aa");

jb2.addActionListener(this);
jb2.setActionCommand("bb");

this.setSize(200,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

//监听的方法
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("aa"))
{
System.out.println("你点击黑色按钮");
jf1.setBackground(Color.black);
}
else if(e.getActionCommand().equals("bb"));
{
System.out.println("你点击红色按钮");
jf1.setBackground(Color.red);
}
}
  
}


为什么jb1监听了两个对象啊?求教
------最佳解决方案--------------------
else if(e.getActionCommand().equals("bb"));
{
System.out.println("你点击红色按钮");
jf1.setBackground(Color.red);
}
}
这段代码你仔细看看,是不是多了一个分号
错着这里
------其他解决方案--------------------
jb1是个JButton,怎么监听?
------其他解决方案--------------------
谢谢楼上,粗心了。