Java 为什么当我调整jframe的大小时,jbuttons才对齐

Java 为什么当我调整jframe的大小时,jbuttons才对齐,java,swing,resize,jbutton,grid-layout,Java,Swing,Resize,Jbutton,Grid Layout,我在jframe上的jlabel中遇到了一个jbuttons问题 我正在尝试制作一个类似扫雷舰的游戏,在这个游戏中,我需要很多jbuttons——在这个例子中有225个,我在一个字符串中设置了按钮,并添加了for&if语句。问题是,当我编译程序并运行它时,最初jbuttons没有正确对齐,但是当我用鼠标在任意方向调整jframe的大小时,按钮突然对齐 调整大小之前 调整大小后 public class Minesweeper { public final void initUI()

我在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();                
    }
}

公共级扫雷艇{
公共最终无效初始值(){
JFrame=新JFrame(“扫雷舰”);
框架设置尺寸(320300);
框架.立根背景(颜色.白色);
frame.setVisible(true);
frame.setLayout(新的GridLayout(1,1,0,0));
JPanel面板=新的JPanel();
panel.setLayout(新的GridLayout(15,15,0,0));
框架。添加(面板);
字符串[]按钮={
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "", 
"", "", "", "", "", 
};    
对于(inti=0;i
构建UI后,打包框架,然后使其可见……我是个白痴,谢谢,我甚至没有注意到我这么做