JavaFX Checkboard

时间:2017-03-22 16:47:40

标签: java javafx

由于某些原因,这个程序不能工作,我仍然看不到问题。这是一个javaFX问题,它要我使用CSS和TextFields作为检查板。但每次我把它放在这个for循环中是行不通的。

public class IjazZ_CH15P5 extends Application
{
  @Override
  public void start(Stage stage)
  {
    GridPane gridPane = new GridPane();

    int n = 5; // The column/row number that can be changed

    TextField bSquare = new TextField();
    TextField wSquare = new TextField();

    bSquare.setEditable(false);
    wSquare.setEditable(false);

    bSquare.setStyle("-fx-background-color: black;");
    wSquare.setStyle("-fx-background-color: white;");

    for (int col = 0; col > n; col++)
    {
     for(int row = 0; row > n; row++)
     {
       if ((row%2) == (col%2))
       {
         gridPane.add(bSquare,col,row);
       }
       else
       {
         gridPane.add(wSquare,col,row);
       }
     }
    }

    stage.setScene(new Scene(gridPane)); 
    stage.setTitle("Checkboard"); 
    stage.show();
  }
}

1 个答案:

答案 0 :(得分:0)

首先,您的new循环具有错误的逻辑运算符。它们应该少于(for)。

其次,您无法将重复项添加到网格窗格中,因此您需要在循环的每次迭代中创建文本字段的新实例。

我测试了这个并且它有效:

<