我用
    Button[][] btnlist=new Button();
    for(int i=0;i<n;i++)
       for(int j=0;j<n;j++)
         {               
            butnlst[i][j]=new Button();
         }创建了若干个按钮,现在我想知道当鼠标点击某个按钮时,可以返回是哪个按钮被单击了
请问应该怎么做?

解决方案 »

  1.   

    public void actionPerformed(ActionEvent e) {
    JButton b=(JButton)e.getSource();
    String com=b.getActionCommand().trim();

    if(com.equals("确定")){//如果是确定按钮就执行...
    }else{//其他按钮...
    }

    }
      

  2.   

    如果我没有对 btnlist数组里的Button按钮一个一个的setLable()呢?
    能不能直接通过 btnlist[][]里面的 i,j操作?
      

  3.   

    if (e.getSource().equals(btnlist[i][j])) {
        // your code
    }
      

  4.   

    既然你没有setLable的话也会默认添加吧?你获取到对象的ID的时候你就拿来判断是不是这个ID咯
      

  5.   

    butnlst[i][j] 这不就相当于每个按钮有对象了嘛 
    每一个按钮的事件又不一样 添加监听器的时候分别添加就可以了 
      

  6.   

    Button[][] btnlist=new Button();
        for(int i=0;i <n;i++)
          for(int j=0;j <n;j++)
            {  
                Button btn = new Button();
                btn.addActionListener(
                    new ActionListener() {
                        public void actionPerformed(ActionEvent e) {
                            Object source = e.getSource(); //这个source就是你的button,怎么处理你看着办
                            //do something
                        }
                    }
                );          
                butnlst[i][j] = btn;

            } 
      

  7.   

    用 getSource()获得  动作的对象