不兼容的类型需要布尔找到void?

时间:2016-05-18 04:22:40

标签: java user-interface

我正在尝试在夏季将Tic Tac Toe游戏作为个人项目。不知道为什么这个代码在我的按钮监听器类中不起作用。 btn1是一个JButton。和turn是一个最初为true的布尔变量;

public class ButtonListener implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent e) {

        if(btn1.setEnabled(true)){ //the clause inside the if statement?
            if(turn){
                btn1.setText("X");
                turn = false;
            }
            else{
                btn1.setText("O");
                turn = true;
            }
            btn1.setEnabled(false);
        }
    }
}

3 个答案:

答案 0 :(得分:3)

此代码返回void

if(btn1.setEnabled(true)){

也许你的意思是

if(btn1.getEnabled()){

答案 1 :(得分:1)

setEnabled(boolean)是一个void方法,这意味着它什么也不返回,但是当检查if()时,你需要在内部传递布尔值。因此,请考虑将其更改为if(btn1.getEnabled())

答案 2 :(得分:0)

如果java中的条件需要布尔输入,但是您传递的是void:

if(btn1.setEnabled(true))

因此错误“不兼容的类型需要boolean found void”。