This is my code:

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);

Right now this gives me the following output enter image description here

whereas I want this enter image description here

with an increased width but I am not able to do it..Could anyone provide me with further details that could help me

有帮助吗?

解决方案

JPanel uses a FlowLayout by default, which, as the name suggests, layouts out components one after the after, in a flow...

Two choices. Use a compound layout, using BorderLayout as the base, create JPanel that uses a GridLayout for the radio buttons (using 0 rows and 1 column), add this to the CENTER position of the base panel.

Create a second JPanel using a FlowLayout and your buttons to it. Add this to the SOUTH position of the base pane.

Second choice is to use a GridBagLayout

Take a look at Laying out Components within a Container for more details

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top