button1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        button1.setEnabled(false);
    }
});button2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        button1.setEnabled(true);
    }
});

解决方案 »

  1.   

    JButton.Enable()就是使button失效的就用这个,在button1单击事件中加button1.Enable(false),button2单击事件中加button1.Enable(true).
    类似的再设置button2.
      

  2.   

    我的程序里有12个button啊,我想在actionPerformed(ActionEvent e)实现一个通用的方法,怎么解决呢
      

  3.   

    把所有的button放到数组里一起处理就行了。
    ActionListener l = new ActionListener(){
      public void actionPerformed(ActionEvent e){
        JButton button = (JButton)e.getSource();
        for(int i=0;i<12;i++){
          if(buttons[i]==button){
            buttons[i].setEnabled(false);
          }else{
            buttons[i].setEnabled(true);
          }
        }
      }
    };
    JButton buttons = new JButton[12];
    for(int i=0;i<12;i++){
      buttons[i] = new JButton("");
      buttons[i].addActionListener(l);
    }
      

  4.   

    哦,把JButton buttons = new JButton[12];一句放到最前面,呵呵。