启用/禁用JButton只能工作一次

时间:2016-05-07 15:52:56

标签: java swing jbutton

所以我正在创建一个应用程序,让您提交问题答案,然后继续下一次。我这样做是使用两个JButton,“提交”和“下一步”。每当我单击提交时,我想禁用提交按钮,并启用下一个按钮。当我单击下一步时,我想禁用下一个按钮,并启用提交按钮。

当测试我的程序时,这个关系对每个按钮都有效,但是它们不会禁用每个按钮另外,两个按钮都会永远保持启用状态。

如何使这个JButton关系工作多次?这是设置两个按钮的代码。

    buttonSubmit = new JButton(new AbstractAction("Submit"){

        public void actionPerformed(ActionEvent e){
            try {
                check((int)(engine.eval(expression)));
            } catch (ScriptException e1) {
            }

            buttonNext.setEnabled(true);
            setEnabled(false);

        }

    });

    buttonNext = new JButton(new AbstractAction("Next Question"){

        public void actionPerformed(ActionEvent e){
            setQuestionArithmetic();
            answer.setText("");
            correct.setText("");

            buttonSubmit.setEnabled(true);
            setEnabled(false);
        }
    });

    buttonNext.setEnabled(false);

1 个答案:

答案 0 :(得分:3)

使用此setEnabled(false);,您将禁用操作,而不是按钮。尝试禁用actionPerformed方法中的按钮。

buttonSubmit = new JButton(new AbstractAction("Submit"){

    public void actionPerformed(ActionEvent e){
        try {
            check((int)(engine.eval(expression)));
        } catch (ScriptException e1) {
        }

        buttonNext.setEnabled(true);
        buttonSubmit.setEnabled(false);

    }

});

buttonNext = new JButton(new AbstractAction("Next Question"){

    public void actionPerformed(ActionEvent e){
        setQuestionArithmetic();
        answer.setText("");
        correct.setText("");

        buttonSubmit.setEnabled(true);
        buttonNext.setEnabled(false);
    }
});

buttonNext.setEnabled(false);