ActionListener - 如果在actionPerformed方法中调用actionPerformed,则跟踪?

时间:2013-04-05 01:17:46

标签: java swing event-handling actionlistener

假设我有一个带SelectPieceListener的'Select'JButton。 我想检查是否再次执行操作(单击“选择按钮”)。 但是,actionPerformed是void,所以我不能将它用作布尔表达式。

有没有办法做到这一点? 或者使用另一个JButton来处理这个问题会更好吗?

谢谢。

public class SelectPieceListener implements ActionListener {
    @Override
    public void actionPerformed(ActionEvent e) {
        if(c == _st.checkMoveImpossible()) {
            System.out.println("No possible move for "+nextPlayer+": click select to skip turn, " +
                    "or click right to move " + t + " pieces.");

            if(**the action is performed**){_board.setcmi(1);}
            _board.update();
        }

1 个答案:

答案 0 :(得分:0)

您是否想知道选择按钮是否已经被点击过一次(1)?或者你想确保actionPerformed方法不是递归调用的(2)?

(1)只需在SelectPieceListener中添加一个名为'selectPressed'(或其他)的布尔字段,并在调用actionPerformed时将其设置为true。

(2)不用担心,你似乎没有手动调用它。