定义了如下控件数组
if(getAreaCount()>0&&getFreCount()>0)
{
selectedPro=new JButton[getAreaCount()*getFreCount()+1];
layout=new GridLayout(getAreaCount(),getFreCount(),2,2);
pCenter.setLayout(layout);
int k=1;
for(int i=1;i<=getAreaCount();i++)
{
for(int j=1;j<=getFreCount();j++)
{
selectedPro[k]=new JButton(""+i+""+j);
pCenter.add(selectedPro[k]);
selectedPro[k].addActionListener(this);
k++;
}
}
}                 public void actionPerformed(ActionEvent e) 
{
                //此处怎样写啊?比如说某个按钮被点了,就改变其背景颜色;
          }

解决方案 »

  1.   

    首先从actionevent 中 得到是哪个button,
    button 去 setBackground就Ok了
      

  2.   

    getSource
    public Object getSource()最初发生 Event 的对象。 
      

  3.   

    ,谢谢大家!!哦 是我吧问题想复杂了  先吧方法贴出来,供有同样疑惑的人参考
    for(int i=1;i<=getAreaCount()*getFreCount();i++)
    {
    if(e.getSource()==selectedPro[i])
    {
    selectedPro[i].setBackground(Color.red);
    }
    }
      

  4.   

    呵呵,先用e.getSource()得到按下的是那个按钮,接着对这个按钮实施系列的代码