KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > sellwin > gui > AddressPanel


1 package sellwin.gui;
2
3 import java.awt.*;
4 import java.awt.event.*;
5 import javax.swing.*;
6
7 import sellwin.domain.*;
8 import sellwin.utils.*;
9
10 // SellWin http://sourceforge.net/projects/sellwincrm
11
//Contact support@open-app.com for commercial help with SellWin
12
//This software is provided "AS IS", without a warranty of any kind.
13

14 /**
15  * This class implements the Address maintenance
16  * panel used throughout all the GUI for different
17  * types of addresses.
18  */

19 public class AddressPanel extends javax.swing.JPanel JavaDoc implements GUIChars {
20     private JLabel nameLabel;
21     private JLabel addrLabel;
22     private JLabel addrExtLabel;
23     private JLabel cityLabel;
24     private JLabel phoneLabel;
25     private JLabel countryLabel;
26
27     private JTextField lastNameField;
28     private JComboBox stateCombo;
29     private JTextField phoneField;
30     private JTextField miField;
31     private JTextField firstNameField;
32     private JTextField addrField;
33     private JTextField addrExtField;
34     private JTextField cityField;
35     private JTextField zipField;
36     private JTextField zip4Field;
37     private JTextField countryField;
38
39     private Address origAddress;
40     private boolean modified=false;
41
42     /**
43      * construct an AddressPanel
44      */

45     public AddressPanel() {
46         initComponents();
47         setFonts();
48         setColors();
49         setLang();
50     }
51
52     /**
53      * construct and initialize the panel's components
54      */

55     private final void initComponents() {
56         nameLabel = new JLabel();
57         addrLabel = new JLabel();
58         addrExtLabel = new JLabel();
59         cityLabel = new JLabel();
60         phoneLabel = new JLabel();
61         countryLabel = new JLabel();
62         lastNameField = new JTextField();
63         stateCombo = new JComboBox();
64         phoneField = new JTextField();
65         countryField = new JTextField();
66         miField = new JTextField();
67         firstNameField = new JTextField();
68         addrField = new JTextField();
69         addrExtField = new JTextField();
70         cityField = new JTextField();
71         zipField = new JTextField();
72         zip4Field = new JTextField();
73         
74         setLayout(new java.awt.GridBagLayout JavaDoc());
75         java.awt.GridBagConstraints JavaDoc gridBagConstraints1;
76         
77         nameLabel.setText("Name (Last, MI, First)");
78         nameLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
79         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
80         gridBagConstraints1.gridx = 0;
81         gridBagConstraints1.gridy = 0;
82         gridBagConstraints1.insets = new Insets(Prefs.I_TOP,Prefs.I_LF,Prefs.I_BOTT,Prefs.I_RT);
83         gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
84         add(nameLabel, gridBagConstraints1);
85        
86         JPanel namePanel = new JPanel(new GridBagLayout());
87         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
88         gridBagConstraints1.gridx = 1;
89         gridBagConstraints1.gridy = 0;
90         gridBagConstraints1.anchor = GridBagConstraints.WEST;
91         add(namePanel, gridBagConstraints1);
92         
93  
94         addrLabel.setText("Address");
95         addrLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
96         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
97         gridBagConstraints1.gridx = 0;
98         gridBagConstraints1.gridy = 1;
99         gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
100         gridBagConstraints1.insets = new Insets(Prefs.I_TOP,Prefs.I_LF,Prefs.I_BOTT,Prefs.I_RT);
101         gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
102         add(addrLabel, gridBagConstraints1);
103         
104         addrExtLabel.setText("Ext. Address");
105         addrExtLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
106         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
107         gridBagConstraints1.gridx = 0;
108         gridBagConstraints1.gridy = 2;
109         gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
110         gridBagConstraints1.insets = new Insets(Prefs.I_TOP,Prefs.I_LF,Prefs.I_BOTT,Prefs.I_RT);
111         gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
112         add(addrExtLabel, gridBagConstraints1);
113         
114         cityLabel.setText("City, State, Zip");
115         cityLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
116         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
117         gridBagConstraints1.gridx = 0;
118         gridBagConstraints1.gridy = 3;
119         gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
120         gridBagConstraints1.insets = new Insets(Prefs.I_TOP,Prefs.I_LF,Prefs.I_BOTT,Prefs.I_RT);
121         gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
122         add(cityLabel, gridBagConstraints1);
123        
124         JPanel cityPanel = new JPanel(new GridBagLayout());
125         gridBagConstraints1 = new GridBagConstraints();
126         gridBagConstraints1.gridx = 1;
127         gridBagConstraints1.gridy = 3;
128         gridBagConstraints1.anchor = GridBagConstraints.WEST;
129         add(cityPanel, gridBagConstraints1);
130  
131         phoneLabel.setText("Phone");
132         phoneLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
133         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
134         gridBagConstraints1.gridx = 0;
135         gridBagConstraints1.gridy = 4;
136         gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
137         gridBagConstraints1.insets = new Insets(Prefs.I_TOP,Prefs.I_LF,Prefs.I_BOTT,Prefs.I_RT);
138         gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
139         add(phoneLabel, gridBagConstraints1);
140
141         countryLabel.setText("Country");
142         countryLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
143         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
144         gridBagConstraints1.gridx = 0;
145         gridBagConstraints1.gridy = 5;
146         gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
147         gridBagConstraints1.insets = new Insets(Prefs.I_TOP,Prefs.I_LF,Prefs.I_BOTT,Prefs.I_RT);
148         gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
149         add(countryLabel, gridBagConstraints1);
150         
151         lastNameField.setText("");
152         lastNameField.setMinimumSize(new Dimension(100,Prefs.FIELD_HEIGHT));
153         lastNameField.setPreferredSize(new Dimension(100,Prefs.FIELD_HEIGHT));
154         GridBagConstraints gridBagConstraints2 = new java.awt.GridBagConstraints JavaDoc();
155         gridBagConstraints2.gridx = 0;
156         gridBagConstraints2.gridy = 0;
157         gridBagConstraints2.anchor = java.awt.GridBagConstraints.WEST;
158         namePanel.add(lastNameField, gridBagConstraints2);
159         
160         miField.setText("");
161         miField.setColumns(2);
162         miField.setMinimumSize(new Dimension(40,Prefs.FIELD_HEIGHT));
163         miField.setPreferredSize(new Dimension(40,Prefs.FIELD_HEIGHT));
164         gridBagConstraints2 = new java.awt.GridBagConstraints JavaDoc();
165         gridBagConstraints2.gridx = 1;
166         gridBagConstraints2.gridy = 0;
167         gridBagConstraints2.insets = new Insets(0,7,0,7);
168         namePanel.add(miField, gridBagConstraints2);
169         
170         firstNameField.setText("");
171         firstNameField.setMinimumSize(new Dimension(100,Prefs.FIELD_HEIGHT));
172         firstNameField.setPreferredSize(new Dimension(100,Prefs.FIELD_HEIGHT));
173         gridBagConstraints2 = new java.awt.GridBagConstraints JavaDoc();
174         gridBagConstraints2.gridx = 2;
175         gridBagConstraints2.gridy = 0;
176         namePanel.add(firstNameField, gridBagConstraints2);
177
178
179         phoneField.setText("");
180         phoneField.setMinimumSize(new Dimension(100,Prefs.FIELD_HEIGHT));
181         phoneField.setPreferredSize(new Dimension(100,Prefs.FIELD_HEIGHT));
182         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
183         gridBagConstraints1.gridx = 1;
184         gridBagConstraints1.gridy = 4;
185         gridBagConstraints1.gridwidth = 2;
186         gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
187         gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
188         add(phoneField, gridBagConstraints1);
189
190         countryField.setText("");
191         countryField.setMinimumSize(new Dimension(100,Prefs.FIELD_HEIGHT));
192         countryField.setPreferredSize(new Dimension(100,Prefs.FIELD_HEIGHT));
193         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
194         gridBagConstraints1.gridx = 1;
195         gridBagConstraints1.gridy = 5;
196         gridBagConstraints1.gridwidth = 2;
197         gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
198         gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
199         add(countryField, gridBagConstraints1);
200         
201
202         addrField.setText("");
203         addrField.setMinimumSize(new Dimension(200,Prefs.FIELD_HEIGHT));
204         addrField.setPreferredSize(new Dimension(200,Prefs.FIELD_HEIGHT));
205         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
206         gridBagConstraints1.gridx = 1;
207         gridBagConstraints1.gridy = 1;
208         gridBagConstraints1.gridwidth = java.awt.GridBagConstraints.REMAINDER;
209         gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
210         gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
211         add(addrField, gridBagConstraints1);
212
213         addrExtField.setText("");
214         addrExtField.setMinimumSize(new Dimension(200,Prefs.FIELD_HEIGHT));
215         addrExtField.setPreferredSize(new Dimension(200,Prefs.FIELD_HEIGHT));
216         gridBagConstraints1 = new java.awt.GridBagConstraints JavaDoc();
217         gridBagConstraints1.gridx = 1;
218         gridBagConstraints1.gridy = 2;
219         gridBagConstraints1.gridwidth = java.awt.GridBagConstraints.REMAINDER;
220         gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
221         gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST;
222         add(addrExtField, gridBagConstraints1);
223
224         cityField.setText("");
225         cityField.setMinimumSize(new Dimension(100,Prefs.FIELD_HEIGHT));
226         cityField.setPreferredSize(new Dimension(100,Prefs.FIELD_HEIGHT));
227         GridBagConstraints gridBagConstraints3 = new java.awt.GridBagConstraints JavaDoc();
228         gridBagConstraints3.gridx = 0;
229         gridBagConstraints3.gridy = 0;
230         gridBagConstraints3.anchor = java.awt.GridBagConstraints.WEST;
231         cityPanel.add(cityField, gridBagConstraints3);
232
233         stateCombo.setModel(new DefaultComboBoxModel(Address.STATES));
234         stateCombo.setMinimumSize(new Dimension(50,Prefs.FIELD_HEIGHT));
235         stateCombo.setPreferredSize(new Dimension(50,Prefs.FIELD_HEIGHT));
236         gridBagConstraints3 = new java.awt.GridBagConstraints JavaDoc();
237         gridBagConstraints3.gridx = 1;
238         gridBagConstraints3.gridy = 0;
239         gridBagConstraints3.insets = new Insets(0,5,0,5);
240         cityPanel.add(stateCombo, gridBagConstraints3);
241
242         zipField.setText("");
243         zipField.setMinimumSize(new Dimension(80,Prefs.FIELD_HEIGHT));
244         zipField.setPreferredSize(new Dimension(80,Prefs.FIELD_HEIGHT));
245         gridBagConstraints3 = new java.awt.GridBagConstraints JavaDoc();
246         gridBagConstraints3.gridx = 2;
247         gridBagConstraints3.gridy = 0;
248         gridBagConstraints3.insets = new Insets(0,5,0,5);
249         cityPanel.add(zipField, gridBagConstraints3);
250
251         zip4Field.setText("");
252         zip4Field.setMinimumSize(new Dimension(40,Prefs.FIELD_HEIGHT));
253         zip4Field.setPreferredSize(new Dimension(40,Prefs.FIELD_HEIGHT));
254         gridBagConstraints3 = new java.awt.GridBagConstraints JavaDoc();
255         gridBagConstraints3.gridx = 3;
256         gridBagConstraints3.gridy = 0;
257         cityPanel.add(zip4Field, gridBagConstraints3);
258
259     }
260
261     /**
262      * set the screen widget's fonts
263      */

264     public final void setFonts() {
265         nameLabel.setFont(MainWindow.LABEL_FONT);
266         addrLabel.setFont(MainWindow.LABEL_FONT);
267         addrExtLabel.setFont(MainWindow.LABEL_FONT);
268         cityLabel.setFont(MainWindow.LABEL_FONT);
269         phoneLabel.setFont(MainWindow.LABEL_FONT);
270         lastNameField.setFont(MainWindow.FIELD_FONT);
271         stateCombo.setFont(MainWindow.FIELD_FONT);
272         phoneField.setFont(MainWindow.FIELD_FONT);
273         miField.setFont(MainWindow.FIELD_FONT);
274         firstNameField.setFont(MainWindow.FIELD_FONT);
275         addrField.setFont(MainWindow.FIELD_FONT);
276         addrExtField.setFont(MainWindow.FIELD_FONT);
277         cityField.setFont(MainWindow.FIELD_FONT);
278         zipField.setFont(MainWindow.FIELD_FONT);
279         zip4Field.setFont(MainWindow.FIELD_FONT);
280         countryField.setFont(MainWindow.FIELD_FONT);
281         countryLabel.setFont(MainWindow.LABEL_FONT);
282     }
283
284     /**
285      * set the screen widget's colors
286      */

287     public final void setColors() {
288         countryLabel.setForeground(MainWindow.LETTERS);
289         nameLabel.setForeground(MainWindow.LETTERS);
290         addrLabel.setForeground(MainWindow.LETTERS);
291         addrExtLabel.setForeground(MainWindow.LETTERS);
292         cityLabel.setForeground(MainWindow.LETTERS);
293         phoneLabel.setForeground(MainWindow.LETTERS);
294         stateCombo.setBackground(Color.white);
295         countryLabel.setBackground(Color.white);
296     }
297
298     /**
299      * set the panel's components to show the
300      * value of a given Address
301      * @param a the Address we are to display
302      */

303     public final void setAddress(Address a) {
304     
305         origAddress = a;
306
307         Utility.strSet(lastNameField, a.getLastName());
308         stateCombo.setSelectedItem(a.getState());
309         Utility.strSet(phoneField, a.getPhone());
310         Utility.strSet(miField, a.getMiddleInitial());
311         Utility.strSet(firstNameField, a.getFirstName());
312         Utility.strSet(addrField, a.getAddressLine1());
313         Utility.strSet(addrExtField, a.getAddressLine2());
314         Utility.strSet(cityField, a.getCity());
315         Utility.strSet(zipField, a.getZip());
316         Utility.strSet(zip4Field, a.getZip4());
317         Utility.strSet(countryField, a.getCountry());
318     }
319
320
321     /**
322      * get the Address currently being shown on
323      * the screen
324      * @return an Address containing the screen's contents
325      */

326     public final Address getAddress() {
327
328         Address a = new Address();
329         a.setLastName(lastNameField.getText());
330         a.setState((String JavaDoc)(stateCombo.getSelectedItem()));
331         a.setPhone(phoneField.getText());
332         a.setMiddleInitial(miField.getText());
333         a.setFirstName(firstNameField.getText());
334         a.setAddressLine1(addrField.getText());
335         a.setAddressLine2(addrExtField.getText());
336         a.setCity(cityField.getText());
337         a.setZip(zipField.getText());
338         a.setZip4(zip4Field.getText());
339         a.setCountry(countryField.getText());
340
341         if (origAddress == null)
342             a.setModified(true);
343         else
344         if (a.diff(origAddress))
345             a.setModified(true);
346
347         return a;
348     }
349
350     /**
351      * clear the screen's widgets
352      */

353     public final void clear() {
354         modified=false;
355         lastNameField.setText("");
356         stateCombo.setSelectedIndex(0);
357         phoneField.setText("");
358         miField.setText("");
359         firstNameField.setText("");
360         addrField.setText("");
361         addrExtField.setText("");
362         cityField.setText("");
363         zipField.setText("");
364         zip4Field.setText("");
365         countryField.setText("");
366     }
367
368     /**
369      * set the screen's text to some language
370      */

371     public final void setLang() {
372         Whiteboard wb = MainWindow.getWhiteboard();
373         nameLabel.setText(wb.getLang().getString("fullName"));
374         addrLabel.setText(wb.getLang().getString("address"));
375         addrExtLabel.setText(wb.getLang().getString("extAddress"));
376         cityLabel.setText(wb.getLang().getString("cityStateZip"));
377         phoneLabel.setText(wb.getLang().getString("phone"));
378         countryLabel.setText(wb.getLang().getString("country"));
379     }
380
381     /**
382      * check to see if the panel was possibly updated
383      * @return true if the panel was deemed modified
384      */

385      public final boolean isModified() { return modified; }
386 }
387
Popular Tags