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

イベントハンドラーで長時間実行されるタスクを実行しないように注意してください。Javaチュートリアルでイベントハンドラーを実装する際に留意すべき設計上の考慮事項を参照してください。

于 2012-09-30T22:26:30.933 に答える