带有单选按钮的JFrame布局

时间:2013-11-09 06:36:20

标签: java swing jframe jradiobutton

这是我的代码:

frame2 = new JFrame("Confirmation");
        frame2.setLayout(new BorderLayout());
        JRadioButton y,n,c;
         panel = new JPanel();
          ButtonGroup buttonGroup = new ButtonGroup();
          y = new JRadioButton("Add");
          buttonGroup.add(y);
          panel.add(y);
          n = new JRadioButton("Update");
          buttonGroup.add(n);
          panel.add(n);
          c = new JRadioButton("Delete");
          buttonGroup.add(c);
          panel.add(c);
          y.setSelected(true);
          b1=new JButton();
          b1.setBounds(300,100,2,2);
          b1.setIcon(new ImageIcon(searchresult.class.getResource("/images/yes.png")));
          b2=new JButton();
          b2.setBounds(100,10,2,2);
          b2.setIcon(new ImageIcon(searchresult.class.getResource("/images/no.png")));
          panel.add(b1);
          panel.add(b2);
          frame2.add(panel);
          frame2.setSize(182,150);
          frame2.setVisible(true);

现在这给了我以下输出 enter image description here

而我想要这个 enter image description here

宽度增加但我无法做到。可以任何人向我提供可以帮助我的更多细节

1 个答案:

答案 0 :(得分:1)

默认情况下,

JPanel使用FlowLayout,顾名思义,在流程中布置出一个接一个的组件...

两种选择。使用复合布局,使用BorderLayout作为基础,使用JPanel创建GridLayout单选按钮(使用0行和1列),将其添加到基本面板的CENTER位置。

使用JPanel及其按钮创建第二个FlowLayout。将其添加到基本窗格的SOUTH位置。

第二种选择是使用GridBagLayout

请查看Laying out Components within a Container了解详情