Window() { setSize(800, 800); setTitle("Autobot Navigator 1.0"); Container c = getContentPane(); GroupLayout l = new GroupLayout(c); c.setLayout(l); l.setAutoCreateGaps(true); l.setAutoCreateContainerGaps(true); p = new Panel(); p.setMaximumSize(new Dimension(500, 500)); p.setMinimumSize(new Dimension(500, 500)); planBtn = new JButton("Plan"); planBtn.setActionCommand("PLAN"); planBtn.addActionListener(this); loadBtn = new JButton("Load settings from file"); loadBtn.setActionCommand("LOAD"); loadBtn.addActionListener(this); resetBtn = new JButton("Reset"); resetBtn.setActionCommand("RESET"); resetBtn.addActionListener(this); move = new JRadioButton("Move blocks"); move.setSelected(true); move.setActionCommand("MOVE"); move.addActionListener(this); startPos = new JRadioButton("Set robot start position"); startPos.setActionCommand("START"); startPos.addActionListener(this); endPos = new JRadioButton("Set robot end position"); endPos.setActionCommand("END"); endPos.addActionListener(this); modeLbl = new JLabel("Click mode:"); ButtonGroup modeGroup = new ButtonGroup(); modeGroup.add(startPos); modeGroup.add(endPos); modeGroup.add(move); l.setHorizontalGroup( l.createSequentialGroup() .addGroup( l.createParallelGroup(GroupLayout.Alignment.CENTER) .addComponent(p) .addGroup( l.createSequentialGroup() .addGroup( l.createParallelGroup(GroupLayout.Alignment.CENTER) .addComponent(planBtn) .addComponent(loadBtn) .addComponent(resetBtn)) .addGap(50) .addGroup( l.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(modeLbl) .addComponent(move) .addComponent(startPos) .addComponent(endPos))))); l.linkSize(SwingConstants.HORIZONTAL, planBtn, loadBtn, resetBtn); l.setVerticalGroup( l.createSequentialGroup() .addComponent(p) .addGroup( l.createParallelGroup(GroupLayout.Alignment.CENTER) .addGroup( l.createSequentialGroup() .addComponent(planBtn) .addComponent(loadBtn) .addComponent(resetBtn)) .addGroup( l.createSequentialGroup() .addComponent(modeLbl) .addComponent(move) .addComponent(startPos) .addComponent(endPos)))); pack(); setVisible(true); }