GroupLayout 没有给出所需的结果

GroupLayout does not give required result

我在这里添加了按钮,但它们都没有显示在我的框架上 当我单独添加按钮时,它们也会相互重叠 我应该怎么办 有人能在我的代码中找到问题吗 我被推荐到这个网站:https://weblogs.java.net/blog/tpavek/archive/2006/02/getting_to_know_2.html

代码: 导入 java.awt.; 导入 javax.swing.; 导入 java.awt.event.; 导入静态 javax.swing.GroupLayout.Alignment.;

class Abc extends JFrame
{
JButton b[];

Abc()
{
b=new JButton[5];
JPanel jp=new JPanel();
for(int i=0;i<b.length;i++)
{
b[i]=new JButton();
}
GroupLayout layout=new GroupLayout(jp);
jp.setLayout(layout);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);

layout.setHorizontalGroup(layout.createSequentialGroup()
.addComponent(b[0])
.addComponent(b[1])
.addComponent(b[2])
.addGroup(layout.createParallelGroup(LEADING)
        .addComponent(b[3])
        .addComponent(b[4]))
);
layout.setVerticalGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(BASELINE)
.addComponent(b[0])
.addComponent(b[1])
.addComponent(b[2])
.addComponent(b[3]))
.addComponent(b[4])
);
setTitle("kuvh b");
setSize(1000,1000);
//for(int i=0;i<5;i++)
//{
add(b[0]);
add(b[2]);
pack();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    UIManager.setLookAndFeel(
                                  "javax.swing.plaf.metal.MetalLookAndFeel");
                                //  "com.sun.java.swing.plaf.motif.MotifLookAndFeel");
                                //UIManager.getCrossPlatformLookAndFeelClassName());
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
                new Abc().setVisible(true);
            }
        });
    }
}

代码结果如下,这不是我想要的。请告诉我这个问题的解决方案

如果您想让面板显示在框架中,您必须将面板 jp 添加到框架中。您添加了按钮 0 和 2,但没有添加我可以看到的面板。