我在 jframe 上的 jlabel 内遇到 jbuttons 问题。
我正在尝试制作一个类似扫雷的游戏,我需要很多 jbuttons - 在这种情况下有 225 个,我将按钮设置在一个字符串中,并添加了一个 for & if 语句。问题是,当我编译程序并运行它时,最初 jbuttons 没有正确对齐,但是当我用鼠标在任一方向调整 jframe 的大小时,按钮突然对齐。
调整大小之前
调整大小后
public class Minesweeper {
public final void initUI() {
JFrame frame = new JFrame("Minesweeper");
frame.setSize(320, 300);
frame.setBackground(Color.WHITE);
frame.setVisible(true);
frame.setLayout(new GridLayout(1, 1, 0, 0));
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(15, 15, 0, 0));
frame.add(panel);
String[] buttons = {
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "",
};
for (int i = 0; i < buttons.length;) {
if (i < buttons.length) {
panel.add(new JButton(buttons[i]));
i++;
} else {
System.out.println("Unknown error 100");
}
}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
}
public static void main(String[] args) {
Minesweeper ex = new Minesweeper();
ex.initUI();
}
}