2

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

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

1 回答 1

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 ...
    }
}

请注意,您不应在事件处理程序中执行长时间运行的任务,请参阅The Java Tutorials中实现事件处理程序时要牢记的设计注意事项

于 2012-09-30T22:26:30.933 回答