我正在编写一个用于下棋的小型 GUI 程序。我偶然发现了在没有程序返回InvocationTargetExcepetion的情况下我无法向chessTable添加任何元素的问题。这是我的代码:public void start(Stage primaryStage) throws Exception { GridPane chessTable = new GridPane(); chessTable.getStylesheets().add(getClass().getResource("styles.css").toString()); Box chessBox = new Box(112 , 94, 0); chessBox.getStyleClass().add("chess-box"); for (int h = 0; h < 8; h++) { for (int w = 0; w < 8; w++) { GridPane.setConstraints(chessBox, w, h); chessTable.getChildren().add(chessBox); } } primaryStage.setTitle("ChessGame"); primaryStage.setFullScreen(true); Scene scene = new Scene(chessTable, 900, 750); primaryStage.setScene(scene); primaryStage.show();}
1 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
尝试这些方面的东西(例如,我不知道你的“styles.css”在哪里......):
public void start(Stage primaryStage) throws Exception {
GridPane chessTable = new GridPane();
chessTable.getStylesheets().add(getClass().getResource("/styles.css").toString());
for (int h = 0; h < 8; h++) {
for (int w = 0; w < 8; w++) {
Box chessBox = new Box(112, 94, 0);
chessBox.getStyleClass().add("chess-box");
GridPane.setConstraints(chessBox, w, h);
chessTable.getChildren().add(chessBox);
}
}
请注意,它会为代码对面的每个单元格创建一个新框,它会尝试同时将同一个框放入不同的单元格中(只能添加一次)。
添加回答
举报
0/150
提交
取消