当鼠标悬停在它上面时如何阻止JButton启用?

时间:2012-11-21 06:24:21

标签: java swing netbeans jbutton

我使用NetBeans创建了一个框架。框架有两个按钮A和B.按钮A最初被禁用。只有在单击按钮B时才会启用它。

public newFrame() {    //newFrame is the name of the frame that has buttons A&B
    initComponents();

    btn_A.disable();
}

    private void btn_BActionPerformed(java.awt.event.ActionEvent evt)
{
    btn_A.enable();
}

问题是当鼠标移过它时按钮A变为活动/启用,即使是否点击了按钮B.我该如何解决这个问题?

我希望只有在点击按钮B后才能启用按钮A,而不是任何其他事件的结果。

3 个答案:

答案 0 :(得分:1)

使用btn_A.setEnabled(false)代替btn_A.disable()

答案 1 :(得分:1)

btn_A.enable()是一种弃用的方法 要执行此任务,您可以将其替换为btn_A.setEnabled(false);以禁用该按钮,并btn_A.setEnabled(true);启用该按钮。

另外,还有一个建议是,如果您觉得发生了错误,请在您的方法中添加如下语句:

    System.out.println("Some statement relevant to the method"); 

当方法实际执行时,你知道这些额外陈述的主要目的。

答案 2 :(得分:0)

请尝试以下代码:

button. addMouseListener(new MouseAdapter() { 
      public void mouseEntered(MouseEvent me) { 
            button.setEnable(true); 
      } 

      public void mouseExited(MouseEvent me) { 
           button.setEnable(false); 
      } 

    });