Java 将Spring布局用于手动GUI

Java 将Spring布局用于手动GUI,java,swing,layout-manager,springlayout,Java,Swing,Layout Manager,Springlayout,我有一个jframe,有一个标签和两个单选按钮 我使用spring布局,但我的第二个单选按钮出现在页面左上角 public class tester extends JFrame { public tester() { add(create()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(400, 500); setVisible(true); } public JPanel create

我有一个jframe,有一个标签和两个单选按钮

我使用spring布局,但我的第二个单选按钮出现在页面左上角

public class tester extends JFrame {

public tester() {
    add(create());
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(400, 500);
    setVisible(true);
}

public JPanel create() {
    JPanel panel = new JPanel();
    ButtonGroup group = new ButtonGroup();
    JRadioButton r1 = new JRadioButton("Yes");
    JRadioButton r2 = new JRadioButton("No");
    group.add(r1);
    group.add(r2);
    JLabel lable = new JLabel("Today is sunday?");
    panel.add(lable);
//        panel.add(group);      // How add this?

    panel.add(r1);
    panel.add(r2);

    JButton savebt= new JButton("Save");
    JButton cancelbt=new JButton("Cancell");
    panel.add(savebt);
    panel.add(cancelbt);

    panel.setLayout(new SpringLayout());
    SpringUtilities.makeCompactGrid(panel, 1, 3, 50, 100, 25, 50);
    return panel;
}

public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            new tester();
        }
    });
}
}
现在出现这种例外情况:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: No such child: 5

我想在单选按钮行的下方显示我的两个按钮

面板中有三项,因此列数应为3:

SpringUtilities.makeCompactGrid(panel, 1, 3, 50, 100, 25, 50);
//面板。添加(组);//怎么加这个


你不需要这个。按钮组不会添加到面板中。它们用于按钮选择管理,不显示。

面板中有三个项目,因此列数应为3:

SpringUtilities.makeCompactGrid(panel, 1, 3, 50, 100, 25, 50);
//面板。添加(组);//怎么加这个


你不需要这个。按钮组不会添加到面板中。它们用于按钮选择管理,不显示。

很好的帮助,但现在我添加了两个按钮,它们应该位于该行的下方,并且应该相邻。@Sajjad-2行3列=6个单元格。不过,您只添加了5个组件。网格中不能有空单元格。如果您这样做,它将抛出此异常。在最后一个单元格中添加一个空的JLabel。很好的帮助,但现在我添加了两个按钮,它们应该位于该行的下方,并且应该相邻。@Sajjad-2行3列=6个单元格。不过,您只添加了5个组件。网格中不能有空单元格。如果您这样做,它将抛出此异常。在最后一个单元格中添加一个空JLabel。