Java ActionListener buttonPress()限制

时间:2012-09-30 21:35:31

标签: java actionlistener

有没有办法将此按钮限制为只留下一次印象?我问的原因是因为每次按下按钮时出于某些原因它会破坏我的其余代码。因此,为了节省大量的时间调试,以某种方式限制它被按下的次数会容易得多。提前致谢。

ActionListener pushButton = new buttonPress();
start.addActionListener(pushButton);

1 个答案:

答案 0 :(得分:1)

要阻止点击按钮,您可以使用JButton.setEnabled(false)。因此,您可以将此作为ActionListener中的第一个语句。

另一种方法是在ActionListener中设置一个标志,如下所示:

final ActionListener pushButton = new ActionListener()
{
    private boolean clicked;
    public void actionPerformed(final ActionEvent e)
    {
        if(clicked)
        {
            JOptionPane.showMessageDialog(null, "Action already started");
            return;
        }
        clicked = true;
        // ... rest of the action to do ...
    }
}

请注意,您不应在事件处理程序中执行长时间运行的任务,请参阅design considerations to keep in mind when implementing event handlers in The Java Tutorials