瀏覽代碼

Modified GUI to use DefaultFormBuilder.

jorgen_falk 18 年之前
父節點
當前提交
822327d7b1

+ 4
- 0
register-app/pom.xml 查看文件

@@ -96,6 +96,10 @@
96 96
       <exclusions>
97 97
         <exclusion>
98 98
           <groupId>org.springframework</groupId>
99
+          <artifactId>spring-core</artifactId>
100
+        </exclusion>
101
+        <exclusion>
102
+          <groupId>org.springframework</groupId>
99 103
           <artifactId>spring-webmvc</artifactId>
100 104
         </exclusion>
101 105
         <exclusion>

+ 56
- 28
register-app/src/main/java/se/citerus/registerapp/RegisterApp.java 查看文件

@@ -15,8 +15,8 @@ import javax.swing.text.DefaultFormatter;
15 15
 
16 16
 import se.citerus.registerapp.service.HandlingEventService;
17 17
 
18
-import com.jgoodies.forms.builder.PanelBuilder;
19
-import com.jgoodies.forms.layout.CellConstraints;
18
+import com.jgoodies.forms.builder.DefaultFormBuilder;
19
+import com.jgoodies.forms.debug.FormDebugPanel;
20 20
 import com.jgoodies.forms.layout.FormLayout;
21 21
 
22 22
 public class RegisterApp {
@@ -32,6 +32,9 @@ public class RegisterApp {
32 32
   private JButton registerButton;
33 33
   
34 34
   private HandlingEventService handlingEventService;
35
+  private boolean debugUI;
36
+
37
+
35 38
 
36 39
   /////////////////////////////////////////////////////////////////////////////
37 40
   // GUI EVENT HANDLING
@@ -74,6 +77,9 @@ public class RegisterApp {
74 77
     this.handlingEventService = handlingEventService;
75 78
   }
76 79
 
80
+  public void setDebugUI(boolean on){
81
+    this.debugUI = on;
82
+  }
77 83
 
78 84
   /////////////////////////////////////////////////////////////////////////////
79 85
   // GUI SETUP
@@ -112,39 +118,61 @@ public class RegisterApp {
112 118
   }
113 119
 
114 120
   private JComponent createMainPanel() {
115
-    FormLayout layout = createFormLayout();
116
-    PanelBuilder builder = createBuilder(layout);
117
-    
118
- // Obtain a reusable constraints object to place components in the grid.
119
-    CellConstraints cc = new CellConstraints();
120
-    
121
-    builder.addLabel("Completion Time",         cc.xy (1,  1   ));
122
-    builder.add(completionTimeField,            cc.xyw(3,  1, 3));
123
-    builder.addLabel("Tracking Id",             cc.xy (1,  3   ));
124
-    builder.add(trackingIdField,                cc.xyw(3,  3, 3));
125
-    builder.addLabel("Carrier Movement",        cc.xy (1,  5   ));
126
-    builder.add(carrierMovementField,           cc.xyw(3,  5, 3));
127
-    builder.addLabel("Location",                cc.xy (1,  7   ));
128
-    builder.add(locationField,                  cc.xyw(3,  7, 3));
129
-    builder.addLabel("Event Type",              cc.xy (1,  9   ));
130
-    builder.add(eventTypeField,                 cc.xyw(3,  9, 3));
131
-    builder.add(registerButton,                 cc.xy (5,  11  ));
121
+    JComponent fieldPanel = createFieldPanel();
122
+    JComponent buttonPanel = createButtonPanel();
123
+    
124
+    DefaultFormBuilder mainBuilder = createBuilder("right:pref");
125
+    mainBuilder.append(fieldPanel);
126
+    mainBuilder.append(buttonPanel);
127
+    
128
+    return mainBuilder.getPanel();
129
+  }
130
+
131
+
132
+  private JComponent createButtonPanel() {
133
+    DefaultFormBuilder builder = createBuilder("right:pref, 3dlu");
134
+    
135
+    builder.append(registerButton);
132 136
     
133 137
     return builder.getPanel();
134 138
   }
135 139
 
136
-  private PanelBuilder createBuilder(FormLayout layout) {
137
-    PanelBuilder builder = new PanelBuilder(layout);
138
-    builder.setDefaultDialogBorder();
140
+
141
+  private JComponent createFieldPanel() {
142
+    DefaultFormBuilder builder = createBuilder("right:pref, 3dlu, 100dlu, 3dlu, p");
143
+    
144
+    builder.appendSeparator("Completion");
145
+    builder.append("Completion Time", completionTimeField); builder.nextLine();
139 146
     
147
+    builder.appendSeparator("Cargo");
148
+    builder.append("Tracking Id", trackingIdField); builder.nextLine();
149
+    
150
+    builder.appendSeparator("Event");
151
+    builder.append("Carrier Movement", carrierMovementField); builder.nextLine();
152
+    builder.append("Location", locationField); builder.nextLine();
153
+    builder.append("Event Type", eventTypeField); builder.nextLine();
154
+    
155
+    builder.appendSeparator("");
156
+    
157
+    return builder.getPanel();
158
+  }
159
+
160
+
161
+  private DefaultFormBuilder createBuilder(String colSpec) {
162
+    FormLayout layout = new FormLayout(colSpec);
163
+
164
+    DefaultFormBuilder builder = createDefaultFormBuilder(layout);
165
+    builder.setDefaultDialogBorder();
140 166
     return builder;
141 167
   }
142 168
 
143
-  private FormLayout createFormLayout() {
144
-    FormLayout layout = new FormLayout(
145
-        "right:pref, 3dlu, 100dlu, 3dlu, pref",                  // columns
146
-        "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu"); // rows
147
-    
148
-    return layout;
169
+
170
+  private DefaultFormBuilder createDefaultFormBuilder(FormLayout layout) {
171
+    if (debugUI){
172
+      return new DefaultFormBuilder(layout, new FormDebugPanel());
173
+    } else {
174
+      return new DefaultFormBuilder(layout);
175
+    }
149 176
   }
177
+ 
150 178
 }

+ 1
- 0
register-app/src/main/resources/context-app.xml 查看文件

@@ -9,6 +9,7 @@
9 9
 
10 10
   <bean id="registerApp" class="se.citerus.registerapp.RegisterApp">
11 11
     <property name="handlingEventService" ref="handlingEventServiceWs"/>
12
+    <property name="debugUI" value="false" />
12 13
   </bean>
13 14
 
14 15
   <bean id="handlingEventServiceWs" class="se.citerus.registerapp.service.HandlingEventServiceWs">