1 package at.ac.tuwien.sbc.valesriegler.group.gui;
3 import at.ac.tuwien.sbc.valesriegler.common.Util;
4 import org.slf4j.Logger;
5 import org.slf4j.LoggerFactory;
11 * Base Frame of the Group UI
13 * @author Gregor Riegler <gregor DOT riegler AT gmail DOT com>
16 @SuppressWarnings("serial")
17 public class GroupFrame extends JFrame {
18 private static final Logger log = LoggerFactory.getLogger(GroupFrame.class);
20 public GroupFrame(GroupOverviewModel groupModel, DeliveryOverviewModel deliveryModel) {
22 log.debug("GroupFrame()");
23 JPanel wrapper = new JPanel();
24 GridLayout wrapperLayout = new GridLayout(2, 2);
25 wrapper.setLayout(wrapperLayout);
27 // Create Wizard-like panel for the creation of groups
28 wrapper.add(new GroupCreationPanel(false));
30 // Create Wizard-like panel for the creation of delivery groups
31 wrapper.add(new GroupCreationPanel(true));
33 // Create the panel for the group overview table
34 initGroupOverview(wrapper, groupModel);
36 // Create the panel for the deliveries overview table
37 initDeliveriesOverview(wrapper, deliveryModel);
39 setContentPane(wrapper);
40 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
42 GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
43 this.setMaximizedBounds(env.getMaximumWindowBounds());
44 this.setExtendedState(this.getExtendedState() | this.MAXIMIZED_BOTH);
47 private void initGroupOverview(JPanel wrapper, GroupOverviewModel groupModel) {
48 JPanel tablePanel = new JPanel();
49 Util.createTableInTitledPanel(tablePanel, groupModel, "Group Overview");
50 wrapper.add(tablePanel);
53 private void initDeliveriesOverview(JPanel wrapper, DeliveryOverviewModel deliveryModel) {
54 JPanel tablePanel = new JPanel();
55 Util.createTableInTitledPanel(tablePanel, deliveryModel, "Deliveries Overview");
56 wrapper.add(tablePanel);