在swing的JApplet中我建立一个Jbutton然后setEnabled(false),最后在为它添加一个onClick事件.打印一个Hello出来
问题是将这个Jbutton设了不为编辑(Enabled(false)它为什么还能编辑呢??我也不能取得它的状态.如果能取它是否在编辑状态的的话问题就能解决.但我取不到...
请问如何让一个setEnabled(false)的Button.如何使它不发生onclick事件呢?

解决方案 »

  1.   

    直接setEnabled(false);就可以了,没有问题,所有的事件都不响应了
      

  2.   

    JButton的状态什么意思。
    JButton bt = new JButton("xxx")
    bt.addActionListener(listener);
    ....
    Class ActionResponse(...){
      if (cmd = "xxx"){
        System.out.println("hello");
     }
    }
      

  3.   

    setEnabled(false);
    不可能不管用
      

  4.   

    setEnabled(false);
    应该会禁用
      

  5.   

    请问楼主你是在哪里写setEnabled(false)这句话的啊,是在构造方法里吗,那当然不行了放到init()方法里试试
      

  6.   

    jbutton.isEnabled()能取得它的状态
      

  7.   

    就是呀,setEnable(false);不可能失效的
      

  8.   

    按道理说setEnable后不可会响应事件,不过楼主所说的onClick事件是个什么时间啊,没看到过
    获取状态用isEnabled
      

  9.   

    我也遇到过这种情况啊
    我将一个JRadioButton, setEnabled(false);
    但是它还是能响应鼠标点击
    我只好加了个判断,if(!isEnabled())return;
    感觉太没道理了
      

  10.   

    你看看是这是这个意思..下面是例子.测试通过.
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class addmouse extends JFrame implements MouseListener{
    JButton b1;
     public static void main(String args[]){
            addmouse frame=new addmouse();
         }
         addmouse(){
         Container c=getContentPane();
         c.setLayout(null);
         b1=new JButton("按钮1");
     b1.setLocation(100,100);
     b1.setSize(60,30);
     b1.setEnabled(false);
     b1.addMouseListener(this);
     c.add(b1);
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     setSize(400,400);
     setVisible(true);  
     }
     public void mousePressed(MouseEvent e){
     
     }
     public void mouseEntered(MouseEvent e){
     
     }
     public void mouseReleased(MouseEvent e){
     
     }
     public void mouseExited(MouseEvent e){
     
     }
     public void mouseClicked(MouseEvent e){
       if(b1.isEnabled()){
        System.out.println("这回对了");
       }else{
        return;
       }
     
     }
    }
      

  11.   

    setEnable(false);
    绝对没有问题
    你可以看看JButton的源码
    已经把DESL君所说的 isEnabled的判断,列入其中了
      

  12.   

    你可能是JDK的问题,用.setVisible(false)试试
      

  13.   

    onClick不是JavaScript里的东东吗?楼主是不是implements了MouseListener啊?
      

  14.   

    DESL的程序不加isEnable的判断也是正确的