private JPanel createBattlefieldSlidersPanel() { JPanel panel = new JPanel(); GroupLayout layout = new GroupLayout(panel); panel.setLayout(layout); GroupLayout.SequentialGroup leftToRight = layout.createSequentialGroup(); GroupLayout.ParallelGroup left = layout.createParallelGroup(); left.addComponent(battlefieldSizeLabel); left.addComponent(battlefieldWidthSlider); leftToRight.addGroup(left); GroupLayout.ParallelGroup right = layout.createParallelGroup(); right.addComponent(battlefieldHeightSlider); leftToRight.addGroup(right); GroupLayout.SequentialGroup topToBottom = layout.createSequentialGroup(); GroupLayout.ParallelGroup top = layout.createParallelGroup(); top.addComponent(battlefieldSizeLabel); top.addComponent(battlefieldHeightSlider); topToBottom.addGroup(top); GroupLayout.ParallelGroup bottom = layout.createParallelGroup(); bottom.addComponent(battlefieldWidthSlider); topToBottom.addGroup(bottom); layout.setHorizontalGroup(leftToRight); layout.setVerticalGroup(topToBottom); return panel; }
public void createGUI() { JButton submitButton = new JButton("Submit"); submitButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // get text from input fields inputPath = inputField.getText(); outputPath = outputField.getText(); buttonPressed = true; } }); JPanel inputPanel = new JPanel(); inputPanel.add(new JLabel("Input Path")); inputPanel.add(inputField); JLabel inputLabel = new JLabel("Input Path"); JLabel outputLabel = new JLabel("Output Path"); JPanel content = new JPanel(); content.setLayout(new BorderLayout()); JPanel textFieldsContent = new JPanel(); GroupLayout layout = new GroupLayout(textFieldsContent); textFieldsContent.setLayout(layout); // setting to true creates gaps between components layout.setAutoCreateGaps(true); // setting to true creates gaps between components and edge of container layout.setAutoCreateContainerGaps(true); // horizontal axis GroupLayout.SequentialGroup horizontalGroup = layout.createSequentialGroup(); // each sequential group contains two parallel groups. // one will contain labels, other will contain text fields horizontalGroup.addGroup( layout.createParallelGroup().addComponent(inputLabel).addComponent(outputLabel)); horizontalGroup.addGroup( layout.createParallelGroup().addComponent(inputField).addComponent(outputField)); layout.setHorizontalGroup(horizontalGroup); // vertical axis GroupLayout.SequentialGroup verticalGroup = layout.createSequentialGroup(); verticalGroup.addGroup( layout .createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(inputLabel) .addComponent(inputField)); verticalGroup.addGroup( layout .createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(outputLabel) .addComponent(outputField)); layout.setVerticalGroup(verticalGroup); content.add(textFieldsContent, BorderLayout.CENTER); content.add(submitButton, BorderLayout.PAGE_END); window.setContentPane(content); window.setSize(350, 200); window.setLocation(100, 100); window.setVisible(true); }
private JPanel createRulesPanel() { JPanel panel = new JPanel(); panel.addAncestorListener(new EventHandler()); panel.setBorder(BorderFactory.createEtchedBorder()); GroupLayout layout = new GroupLayout(panel); layout.setAutoCreateContainerGaps(true); layout.setAutoCreateGaps(true); panel.setLayout(layout); GroupLayout.SequentialGroup leftToRight = layout.createSequentialGroup(); GroupLayout.ParallelGroup left = layout.createParallelGroup(); left.addComponent(numberOfRoundsLabel); left.addComponent(gunCoolingRateLabel); left.addComponent(inactivityTimeLabel); left.addComponent(sentryBorderSizeLabel); left.addComponent(hideEnemyNamesLabel); leftToRight.addGroup(left); GroupLayout.ParallelGroup right = layout.createParallelGroup(); right.addComponent(getNumberOfRoundsTextField()); right.addComponent(getGunCoolingRateTextField()); right.addComponent(getInactivityTimeTextField()); right.addComponent(getSentryBorderSizeTextField()); right.addComponent(hideEnemyNamesCheckBox); leftToRight.addGroup(right); GroupLayout.SequentialGroup topToBottom = layout.createSequentialGroup(); GroupLayout.ParallelGroup row0 = layout.createParallelGroup(Alignment.BASELINE); row0.addComponent(numberOfRoundsLabel); row0.addComponent(numberOfRoundsTextField); topToBottom.addGroup(row0); GroupLayout.ParallelGroup row1 = layout.createParallelGroup(Alignment.BASELINE); row1.addComponent(gunCoolingRateLabel); row1.addComponent(getGunCoolingRateTextField()); topToBottom.addGroup(row1); GroupLayout.ParallelGroup row2 = layout.createParallelGroup(Alignment.BASELINE); row2.addComponent(inactivityTimeLabel); row2.addComponent(inactivityTimeTextField); topToBottom.addGroup(row2); GroupLayout.ParallelGroup row3 = layout.createParallelGroup(Alignment.BASELINE); row3.addComponent(sentryBorderSizeLabel); row3.addComponent(sentryBorderSizeTextField); topToBottom.addGroup(row3); GroupLayout.ParallelGroup row4 = layout.createParallelGroup(Alignment.CENTER); row4.addComponent(hideEnemyNamesLabel); row4.addComponent(hideEnemyNamesCheckBox); topToBottom.addGroup(row4); layout.setHorizontalGroup(leftToRight); layout.setVerticalGroup(topToBottom); return panel; }