1 package at.ac.tuwien.sbc.valesriegler.group.gui;
3 import java.awt.GridLayout;
4 import java.awt.event.ActionEvent;
5 import java.awt.event.ActionListener;
7 import javax.swing.JButton;
8 import javax.swing.JLabel;
9 import javax.swing.JPanel;
10 import javax.swing.JSpinner;
11 import javax.swing.SpinnerNumberModel;
12 import javax.swing.border.TitledBorder;
14 public class GroupCreationPanel extends JPanel {
16 private boolean createDeliveryGroups;
18 public GroupCreationPanel(final boolean createDeliveryGroups) {
19 this.createDeliveryGroups = createDeliveryGroups;
21 final JPanel chooseGroupSizePanel = new JPanel();
22 JLabel creationLabel = new JLabel("How many members should the group have?");
23 JButton next = new JButton("Next");
24 SpinnerNumberModel model = new SpinnerNumberModel(1, 1, 4, 1);
25 final JSpinner spinner = new JSpinner(model);
27 // When 'next' is clicked the second, final panel of the Group Creation
28 // Wizard should be shown
29 next.addActionListener(new ActionListener() {
31 public void actionPerformed(ActionEvent e) {
32 int numberMembers = (int) spinner.getValue();
33 GroupCreationPanel.this.createDeliveryGroups = createDeliveryGroups;
34 final GroupCreationDetailsPanel groupCreationDetailsPanel = new GroupCreationDetailsPanel(numberMembers,
35 GroupCreationPanel.this.createDeliveryGroups);
36 GroupCreationHandler groupCreationHandler = new GroupCreationHandler(GroupCreationPanel.this,
37 chooseGroupSizePanel, groupCreationDetailsPanel, GroupCreationPanel.this.createDeliveryGroups);
39 groupCreationDetailsPanel.setCreateAndCancelHandler(groupCreationHandler);
40 groupCreationHandler.showGroupCreationDetailPanel();
45 GridLayout creationPanelLayout = new GridLayout(3, 1);
46 chooseGroupSizePanel.setLayout(creationPanelLayout);
47 final String title = createDeliveryGroups ? "Create Delivery Groups" : "Create Normal Groups";
48 setBorder(new TitledBorder(title));
50 this.add(chooseGroupSizePanel);
51 chooseGroupSizePanel.add(creationLabel);
52 chooseGroupSizePanel.add(spinner);
53 chooseGroupSizePanel.add(next);