2016-05-19 30 views
0

私は個人的なプロジェクトとして現時点ではTicTacToeゲームに取り組んでいますが、これまでのところ私はxやoは一直線に並んでいる。ここに私のコードはここにあります。私の問題は接続されたメソッドでコンパイルされて実行されますが、JButtonが1つだけ押された後に中間の水平行を追加しようとすると、その人は勝てないと言いました。私は、JButtonのisEnabledの代わりにisDisabled()という名前のメソッドが必要だと思うが、何らかの理由で、そのようなメソッドがJavaライブラリにないと思う。私は(isDisabledていた場合、私はそれだけで(!whatever.isEnabled())JButtonメソッド私は見つけることができません

文字を使用してください

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

/** 
* Created by Usman on 5/17/2016. 
*/ 
public class TicTacToeGUI extends JPanel { 

    boolean turn = true; 
    JButton[] board; 

    public TicTacToeGUI() { 
     setLayout(new GridLayout(3,3)); 

     board = new JButton[9]; 
     for (int i = 0; i < board.length; i++) { 
      board[i] = new JButton(""); 
      board[i].setPreferredSize(new Dimension(70, 60)); 
      board[i].setFont(new Font("Arial", Font.PLAIN, 40)); 
      int finalI = i; 
      board[i].addActionListener(new ActionListener() { 
       @Override 
       public void actionPerformed(ActionEvent e) { 

        if(board[finalI].isEnabled()){ 
         if(turn){ 
          board[finalI].setText("X"); 
          turn = !turn; 
         } 
         else{ 
          board[finalI].setText("O"); 
          turn = true; 
         } 
         board[finalI].setEnabled(false); 
        } 
        Connected(); 
       } 
      }); 
      add(board[i]); 
     } 
    } 
    public void Connected(){ 
     int count =0; 
     //Horizontal top row 
     if((board[0].isEnabled() == board[1].isEnabled()) && (board[1].isEnabled() == board[2].isEnabled())){ 
      System.out.println(count++); 
      for(int i = 0; i < board.length; i++) 
       board[i].setEnabled(false); 
     } 
    } 
    public static void main(String []args){ 
     TicTacToeGUI game = new TicTacToeGUI(); 
     JFrame frame = new JFrame("Tic Tac Toe"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.getContentPane().add(game); 
     frame.pack(); 
     frame.setVisible(true); 
    } 
} 
+1

'isDisabled'は' isEnabled'の否定、つまり '!isEnabled()' ... – computerfreaker

答えて

0

のために働くだろう)確かに知って「!」 JavaのNOTと似ています。だから、isDiabled()のように動作します。

+0

ありがとうございました! –

+0

@UsmanBashiruようこそ。 – NuttLoose

関連する問題