Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.swing / org.gvsig.fmap.dal.swing.impl / src / main / java / org / gvsig / fmap / dal / swing / impl / featuretype / FeatureTypePanelView.java @ 44471

History | View | Annotate | Download (12.7 KB)

1 44077 jjdelcerro
package org.gvsig.fmap.dal.swing.impl.featuretype;
2
3
import com.jeta.forms.components.line.HorizontalLineComponent;
4
import com.jeta.open.i18n.I18NUtils;
5
import com.jgoodies.forms.layout.CellConstraints;
6
import com.jgoodies.forms.layout.FormLayout;
7
import java.awt.BorderLayout;
8
import java.awt.ComponentOrientation;
9
import java.awt.Container;
10
import java.awt.Dimension;
11 44471 jjdelcerro
import java.awt.event.WindowAdapter;
12
import java.awt.event.WindowEvent;
13 44077 jjdelcerro
import javax.swing.Box;
14
import javax.swing.ImageIcon;
15
import javax.swing.JButton;
16 44253 jjdelcerro
import javax.swing.JComboBox;
17 44077 jjdelcerro
import javax.swing.JFrame;
18 44253 jjdelcerro
import javax.swing.JLabel;
19 44077 jjdelcerro
import javax.swing.JPanel;
20
import javax.swing.JScrollPane;
21 44253 jjdelcerro
import javax.swing.JTabbedPane;
22 44077 jjdelcerro
import javax.swing.JTable;
23 44253 jjdelcerro
import javax.swing.JTextArea;
24
import javax.swing.JTextField;
25 44077 jjdelcerro
26
27
public class FeatureTypePanelView extends JPanel
28
{
29 44253 jjdelcerro
   JTabbedPane tabFeatureType = new JTabbedPane();
30 44077 jjdelcerro
   JTable tblFields = new JTable();
31
   HorizontalLineComponent horizontallinecomponent1 = new HorizontalLineComponent();
32
   JPanel pnlField = new JPanel();
33
   JButton btnNew = new JButton();
34
   JButton btnDelete = new JButton();
35 44085 jjdelcerro
   JButton btnFormFieldAccept = new JButton();
36
   JButton btnFormFieldDiscard = new JButton();
37 44128 jjdelcerro
   JButton btnFormFieldModify = new JButton();
38 44253 jjdelcerro
   JLabel lblLabel = new JLabel();
39
   JLabel lblDescription = new JLabel();
40
   JTextField txtLabel = new JTextField();
41
   JTextArea txtDescription = new JTextArea();
42
   JLabel lblTagsName = new JLabel();
43
   JLabel lblTagsValue = new JLabel();
44
   JComboBox cboTagsName = new JComboBox();
45
   JTable tblTags = new JTable();
46
   JButton btnTagsAdd = new JButton();
47
   JButton btnTagsUpdate = new JButton();
48
   JButton btnTagsRemove = new JButton();
49
   JLabel lblTagsDescription = new JLabel();
50 44351 jjdelcerro
   JComboBox cboTagsValue = new JComboBox();
51 44253 jjdelcerro
   JLabel lblTags = new JLabel();
52 44077 jjdelcerro
53
   /**
54
    * Default constructor
55
    */
56
   public FeatureTypePanelView()
57
   {
58
      initializePanel();
59
   }
60
61
   /**
62 44471 jjdelcerro
    * Main method for panel
63
    */
64
   public static void main(String[] args)
65
   {
66
      JFrame frame = new JFrame();
67
      frame.setSize(600, 400);
68
      frame.setLocation(100, 100);
69
      frame.getContentPane().add(new FeatureTypePanelView());
70
      frame.setVisible(true);
71
72
      frame.addWindowListener( new WindowAdapter()
73
      {
74
         public void windowClosing( WindowEvent evt )
75
         {
76
            System.exit(0);
77
         }
78
      });
79
   }
80
81
   /**
82 44077 jjdelcerro
    * Adds fill components to empty cells in the first row and first column of the grid.
83
    * This ensures that the grid spacing will be the same as shown in the designer.
84
    * @param cols an array of column indices in the first row where fill components should be added.
85
    * @param rows an array of row indices in the first column where fill components should be added.
86
    */
87
   void addFillComponents( Container panel, int[] cols, int[] rows )
88
   {
89
      Dimension filler = new Dimension(10,10);
90
91
      boolean filled_cell_11 = false;
92
      CellConstraints cc = new CellConstraints();
93
      if ( cols.length > 0 && rows.length > 0 )
94
      {
95
         if ( cols[0] == 1 && rows[0] == 1 )
96
         {
97
            /** add a rigid area  */
98
            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
99
            filled_cell_11 = true;
100
         }
101
      }
102
103
      for( int index = 0; index < cols.length; index++ )
104
      {
105
         if ( cols[index] == 1 && filled_cell_11 )
106
         {
107
            continue;
108
         }
109
         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
110
      }
111
112
      for( int index = 0; index < rows.length; index++ )
113
      {
114
         if ( rows[index] == 1 && filled_cell_11 )
115
         {
116
            continue;
117
         }
118
         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
119
      }
120
121
   }
122
123
   /**
124
    * Helper method to load an image file from the CLASSPATH
125
    * @param imageName the package and name of the file to load relative to the CLASSPATH
126
    * @return an ImageIcon instance with the specified image file
127
    * @throws IllegalArgumentException if the image resource cannot be loaded.
128
    */
129
   public ImageIcon loadImage( String imageName )
130
   {
131
      try
132
      {
133
         ClassLoader classloader = getClass().getClassLoader();
134
         java.net.URL url = classloader.getResource( imageName );
135
         if ( url != null )
136
         {
137
            ImageIcon icon = new ImageIcon( url );
138
            return icon;
139
         }
140
      }
141
      catch( Exception e )
142
      {
143
         e.printStackTrace();
144
      }
145
      throw new IllegalArgumentException( "Unable to load image: " + imageName );
146
   }
147
148
   /**
149
    * Method for recalculating the component orientation for
150
    * right-to-left Locales.
151
    * @param orientation the component orientation to be applied
152
    */
153
   public void applyComponentOrientation( ComponentOrientation orientation )
154
   {
155
      // Not yet implemented...
156
      // I18NUtils.applyComponentOrientation(this, orientation);
157
      super.applyComponentOrientation(orientation);
158
   }
159
160
   public JPanel createPanel()
161
   {
162
      JPanel jpanel1 = new JPanel();
163 44253 jjdelcerro
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE");
164
      CellConstraints cc = new CellConstraints();
165
      jpanel1.setLayout(formlayout1);
166
167
      tabFeatureType.setName("tabFeatureType");
168
      tabFeatureType.addTab("_Main",null,createPanel1());
169
      tabFeatureType.addTab("_Visualization",null,createPanel4());
170
      jpanel1.add(tabFeatureType,cc.xy(2,2));
171
172
      addFillComponents(jpanel1,new int[]{ 1,2,3 },new int[]{ 1,2,3 });
173
      return jpanel1;
174
   }
175
176
   public JPanel createPanel1()
177
   {
178
      JPanel jpanel1 = new JPanel();
179 44471 jjdelcerro
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE","CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE");
180 44077 jjdelcerro
      CellConstraints cc = new CellConstraints();
181
      jpanel1.setLayout(formlayout1);
182
183
      tblFields.setName("tblFields");
184
      JScrollPane jscrollpane1 = new JScrollPane();
185
      jscrollpane1.setViewportView(tblFields);
186
      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
187
      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
188
      jpanel1.add(jscrollpane1,cc.xy(2,2));
189
190
      jpanel1.add(horizontallinecomponent1,cc.xywh(2,4,3,1));
191
192
      pnlField.setName("pnlField");
193
      jpanel1.add(pnlField,cc.xy(2,6));
194
195 44253 jjdelcerro
      jpanel1.add(createPanel2(),cc.xy(4,2));
196
      jpanel1.add(createPanel3(),cc.xy(4,6));
197 44077 jjdelcerro
      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5 },new int[]{ 1,2,3,4,5,6,7 });
198
      return jpanel1;
199
   }
200
201 44253 jjdelcerro
   public JPanel createPanel2()
202 44077 jjdelcerro
   {
203
      JPanel jpanel1 = new JPanel();
204 44085 jjdelcerro
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0)");
205 44077 jjdelcerro
      CellConstraints cc = new CellConstraints();
206
      jpanel1.setLayout(formlayout1);
207
208
      btnNew.setActionCommand("_New");
209
      btnNew.setName("btnNew");
210
      btnNew.setText("_New");
211
      jpanel1.add(btnNew,cc.xy(2,1));
212
213
      btnDelete.setActionCommand("_Delete");
214
      btnDelete.setName("btnDelete");
215
      btnDelete.setText("_Delete");
216
      jpanel1.add(btnDelete,cc.xy(2,3));
217
218 44085 jjdelcerro
      addFillComponents(jpanel1,new int[]{ 1,3 },new int[]{ 1,2,3,4,5 });
219 44077 jjdelcerro
      return jpanel1;
220
   }
221
222 44253 jjdelcerro
   public JPanel createPanel3()
223 44077 jjdelcerro
   {
224
      JPanel jpanel1 = new JPanel();
225 44128 jjdelcerro
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,FILL:2DLU:GROW(1.0)");
226 44077 jjdelcerro
      CellConstraints cc = new CellConstraints();
227
      jpanel1.setLayout(formlayout1);
228
229 44085 jjdelcerro
      btnFormFieldAccept.setActionCommand("JButton");
230
      btnFormFieldAccept.setName("btnFormFieldAccept");
231
      btnFormFieldAccept.setText("_Accept");
232 44128 jjdelcerro
      jpanel1.add(btnFormFieldAccept,cc.xy(2,3));
233 44077 jjdelcerro
234 44085 jjdelcerro
      btnFormFieldDiscard.setActionCommand("JButton");
235
      btnFormFieldDiscard.setName("btnFormFieldDiscard");
236
      btnFormFieldDiscard.setText("_Discard");
237 44128 jjdelcerro
      jpanel1.add(btnFormFieldDiscard,cc.xy(2,5));
238 44077 jjdelcerro
239 44128 jjdelcerro
      btnFormFieldModify.setActionCommand("JButton");
240
      btnFormFieldModify.setName("btnFormFieldModify");
241
      btnFormFieldModify.setText("_Modify");
242
      jpanel1.add(btnFormFieldModify,cc.xy(2,1));
243
244
      addFillComponents(jpanel1,new int[]{ 1,3 },new int[]{ 1,2,3,4,5,6 });
245 44077 jjdelcerro
      return jpanel1;
246
   }
247
248 44253 jjdelcerro
   public JPanel createPanel4()
249
   {
250
      JPanel jpanel1 = new JPanel();
251
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(0.1),CENTER:2DLU:NONE,FILL:DEFAULT:GROW(0.8),CENTER:2DLU:NONE");
252
      CellConstraints cc = new CellConstraints();
253
      jpanel1.setLayout(formlayout1);
254
255
      lblLabel.setName("lblLabel");
256
      lblLabel.setText("_Label");
257
      jpanel1.add(lblLabel,cc.xy(2,2));
258
259
      lblDescription.setName("lblDescription");
260
      lblDescription.setText("_Description");
261
      lblDescription.setVerticalAlignment(JLabel.TOP);
262
      jpanel1.add(lblDescription,new CellConstraints(2,4,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
263
264
      txtLabel.setName("txtLabel");
265
      jpanel1.add(txtLabel,cc.xy(4,2));
266
267
      txtDescription.setName("txtDescription");
268
      JScrollPane jscrollpane1 = new JScrollPane();
269
      jscrollpane1.setViewportView(txtDescription);
270
      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
271
      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
272
      jpanel1.add(jscrollpane1,new CellConstraints(4,4,1,1,CellConstraints.DEFAULT,CellConstraints.FILL));
273
274
      jpanel1.add(createPanel5(),cc.xy(4,6));
275
      lblTags.setName("lblTags");
276
      lblTags.setText("_Tags");
277
      lblTags.setVerticalAlignment(JLabel.TOP);
278
      jpanel1.add(lblTags,cc.xy(2,6));
279
280
      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5 },new int[]{ 1,2,3,4,5,6,7 });
281
      return jpanel1;
282
   }
283
284
   public JPanel createPanel5()
285
   {
286
      JPanel jpanel1 = new JPanel();
287
      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE","FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:GROW(0.1)");
288
      CellConstraints cc = new CellConstraints();
289
      jpanel1.setLayout(formlayout1);
290
291
      lblTagsName.setName("lblTagsName");
292
      lblTagsName.setText("_Name");
293
      jpanel1.add(lblTagsName,cc.xy(1,3));
294
295
      lblTagsValue.setName("lblTagsValue");
296
      lblTagsValue.setText("_Value");
297
      jpanel1.add(lblTagsValue,cc.xy(1,5));
298
299
      cboTagsName.setEditable(true);
300
      cboTagsName.setName("cboTagsName");
301
      cboTagsName.setRequestFocusEnabled(false);
302
      jpanel1.add(cboTagsName,cc.xy(3,3));
303
304
      tblTags.setName("tblTags");
305
      JScrollPane jscrollpane1 = new JScrollPane();
306
      jscrollpane1.setViewportView(tblTags);
307
      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
308
      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
309
      jpanel1.add(jscrollpane1,cc.xywh(1,1,3,1));
310
311
      jpanel1.add(createPanel6(),cc.xywh(5,1,1,5));
312
      lblTagsDescription.setName("lblTagsDescription");
313
      jpanel1.add(lblTagsDescription,cc.xy(3,6));
314
315 44351 jjdelcerro
      cboTagsValue.setEditable(true);
316
      cboTagsValue.setName("cboTagsValue");
317
      cboTagsValue.setRequestFocusEnabled(false);
318
      jpanel1.add(cboTagsValue,cc.xy(3,5));
319
320 44253 jjdelcerro
      addFillComponents(jpanel1,new int[]{ 2,3,4,5 },new int[]{ 2,4,6 });
321
      return jpanel1;
322
   }
323
324
   public JPanel createPanel6()
325
   {
326
      JPanel jpanel1 = new JPanel();
327
      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE");
328
      CellConstraints cc = new CellConstraints();
329
      jpanel1.setLayout(formlayout1);
330
331
      btnTagsAdd.setActionCommand("_Add");
332
      btnTagsAdd.setName("btnTagsAdd");
333
      btnTagsAdd.setText("_Add");
334
      jpanel1.add(btnTagsAdd,cc.xy(1,1));
335
336
      btnTagsUpdate.setActionCommand("_Update");
337
      btnTagsUpdate.setName("btnTagsUpdate");
338
      btnTagsUpdate.setText("_Update");
339
      jpanel1.add(btnTagsUpdate,cc.xy(1,3));
340
341
      btnTagsRemove.setActionCommand("_Remove");
342
      btnTagsRemove.setName("btnTagsRemove");
343
      btnTagsRemove.setText("_Remove");
344
      jpanel1.add(btnTagsRemove,cc.xy(1,5));
345
346
      addFillComponents(jpanel1,new int[0],new int[]{ 2,4 });
347
      return jpanel1;
348
   }
349
350 44077 jjdelcerro
   /**
351
    * Initializer
352
    */
353
   protected void initializePanel()
354
   {
355
      setLayout(new BorderLayout());
356
      add(createPanel(), BorderLayout.CENTER);
357
   }
358
359
360
}