由于某些原因,这个程序不能工作,我仍然看不到问题。这是一个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();
}
}
答案 0 :(得分:0)
首先,您的new
循环具有错误的逻辑运算符。它们应该少于(for
)。
其次,您无法将重复项添加到网格窗格中,因此您需要在循环的每次迭代中创建文本字段的新实例。
我测试了这个并且它有效:
<