我如何用整数或字符串填充我的GridPane?我目前正在数独GUI上工作,无法使其工作。我已经知道不可能用Java FX标签来显示它,因为它是Java.FX.scene.Control类。我需要以某种方式将数独值转移到GridPane中相应的坐标。
public class Controller {
GridPane sudokuGrid;
private Label[][] label = new Label[9][9];
public void generateButtonClicked(ActionEvent actionEvent) {
SudokuBoard board = new SudokuBoard();
BacktrackingSudokuSolver solver = new BacktrackingSudokuSolver();
solver.fillBoard(0, 0, board);
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
label[i][j] = String.valueOf(board.getDigit(i, j).getNum());
sudokuGrid.add(???, i, j);
}
}
}
校正
我已经知道不可能用Java FX标签来显示它,因为它是Java.FX.scene.Control类。
这不是真的,标签是用来显示值的。
label[i][j] = new Label(String.valueOf(board.getDigit(i, j).getNum()));
sudokuGrid.add(label[i][j], i, j);
你知道每次填充后如何清除网格的内容吗?我每次点击按钮都会得到一个数字一个数字
只将标签添加到网格中一次(创建网格时)。一旦将标签添加到网格中,就不需要再添加它们。因此,使用上面的代码在循环中运行并初始化网格。
初始化完成后,只需在需要时更新标签的文本即可。例如,单击“生成”按钮时:
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
label[i][j].setText(
String.valueOf(board.getDigit(i, j).getNum())
);
}
}
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
label[i][j].setText(null);
}
}
您的FXML控制器可以有一个initialize()方法,使用它在您的网格中创建标签。
rank ▲ ✰ vote url 77 340 83 533 url 给字符串填充0 有什么方法可以给字符串左边填充0,这样就可以有一个特定长度. 字符串: >>> n = '4' >>> print n.zfill(3) >>> '004' 对于数字: >>> n = 4 >>> print '%03d' % n >>> 004 >>> print format(4, '03') # pyt
问题内容: 但是我没有得到如何用零填充字符串。 输入:“ 129018”输出:“ 0000129018” 总输出长度应为TEN。 问题答案: 如果你的字符串仅包含数字,则可以将其设为整数,然后进行填充:
假设我有一个整数数组,如和一个简单的字符串,如。我如何循环通过数组和填充每一个值。假设是这样的: 输出: 到目前为止,我已经尝试了以下内容: 但是,它在print语句中给出了。解决这个问题最好的方法是什么?
我正在创建一个战舰游戏应用程序来学习OOP,Java。我想显示一个“空海”供玩家参考放置他们的舰队。下面是我的游戏板课的开始: 我把这叫做主要的:
问题内容: 我想用空格填充字符串。我知道以下内容适用于零: 但是,当我想要这个时我该怎么办?: 当然,我可以测量字符串的长度并这样做,但是我想用最短的方法。 问题答案: 你可以使用 返回长度为的左对齐字符串。使用指定的fillchar填充(默认为空格)。如果小于,则返回原始字符串。
我有一个 和 MapString只是包含大量的数字(除了数字没有其他字符)。 现在我想用mapString的第一个字符分配数组中的第一个值(map[0,0]),用mapString的第二个字符分配第二个值(map[0,1]),依此类推。我使用以下代码: 现在发生的几乎是我所希望的。问题是它给每个值分配两个数字,而不是一个。我也不知道他在使用什么数字,因为它们不是我的地图保存设置中的数字,但我可以自