2016-05-18 49 views
0

我目前正在嘗試製作一個井字遊戲作爲個人項目在夏季。不知道爲什麼這個代碼在我的按鈕監聽器類中不起作用。 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); 
     } 
    } 
} 
+1

'JButton.setEnabled()'不返回'boolean'。它是'void'返回類型。 – Codebender

回答

3

此代碼返回空隙

if(btn1.setEnabled(true)){ 

也許你的意思是

if(btn1.getEnabled()){ 
1

setEnabled(boolean)是一種無效的方法,這意味着它沒有返回值,但檢查if()當你需要傳遞布爾內。所以考慮改爲if(btn1.getEnabled())

0

如果在java中的條件,需要一個布爾輸入,但你傳遞無效:

if(btn1.setEnabled(true)) 

因此錯誤「不兼容類型所需布爾發現無效」。

相關問題