我用Java编写了一个数独求解器,并希望将其视觉化。以下代码创建了一个JTextField,用于输入数独谜题中给出的一个数字:
public class Visual extends JFrame {
private static final long serialVersionUID = 1L;
int x = 0;
int y = 0;
public Visual() {
setSize(600, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
GridBagConstraints gbc = new GridBagConstraints();
JPanel panel = new JPanel(new GridBagLayout());
JTextField box00 = new JTextField("0", 3);
gbc.gridx = 0;
gbc.gridy = 0;
panel.add(box00);
}
}
但是,我需要添加81个JTextField框,这些框都将具有网格位置并需要添加到面板中。如果没有将代码写出81次,有没有快速的方法呢?我是Java的新手,非常感谢任何帮助。
答案 0 :(得分:0)
制作JTextField
s。
JTextField[][] box = new JTextField[9][9];
for (int i=0; i<9; i++) {
for (int j=0; j<9; j++) {
box[i][j] = new JTextField(...);
panel.add(box[i][j]);
}
}
答案 1 :(得分:0)
public class Visual {
GridBagConstraints gbc = new GridBagConstraints();
JPanel panel = new JPanel(new GridBagLayout());
JTextField[][] box = new JTextField[9][9];
public Visual() {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
box[i][j] = new JTextField("0", 3);
gbc.gridx = i;
gbc.gridy = j;
panel.add(box[i][j]);
}
}
}
}