]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/group/gui/GroupCreationPanel.java
[JMS] added naming service + integrated with PG.
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / group / gui / GroupCreationPanel.java
1 package at.ac.tuwien.sbc.valesriegler.group.gui;
2
3 import java.awt.GridLayout;
4 import java.awt.event.ActionEvent;
5 import java.awt.event.ActionListener;
6
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;
13
14 public class GroupCreationPanel extends JPanel {
15
16         private boolean createDeliveryGroups;
17
18         public GroupCreationPanel(final boolean createDeliveryGroups) {
19                 this.createDeliveryGroups = createDeliveryGroups;
20
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);
26
27                 // When 'next' is clicked the second, final panel of the Group Creation
28                 // Wizard should be shown
29                 next.addActionListener(new ActionListener() {
30                         @Override
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);
38
39                                 groupCreationDetailsPanel.setCreateAndCancelHandler(groupCreationHandler);
40                                 groupCreationHandler.showGroupCreationDetailPanel();
41
42                         }
43                 });
44
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));
49
50                 this.add(chooseGroupSizePanel);
51                 chooseGroupSizePanel.add(creationLabel);
52                 chooseGroupSizePanel.add(spinner);
53                 chooseGroupSizePanel.add(next);
54
55         }
56 }