KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > planetamessenger > mos > forms > JMOSContactDetails


1 /*
2     =========================================================================
3     Package forms - Implements the user interface MOS module
4
5     This module is developed and maintained by PlanetaMessenger.org.
6     Specs, New and updated versions can be found in
7     http://www.planetamessenger.org
8     If you want contact the Team please send a email to Project Manager
9     Leidson Campos Alves Ferreira at leidson@planetamessenger.org
10
11     Copyright (C) since 2001 by PlanetaMessenger.org
12
13     This program is free software; you can redistribute it and/or modify
14     it under the terms of the GNU General Public License as published by
15     the Free Software Foundation; either version 2 of the License, or
16     (at your option) any later version.
17
18     This program is distributed in the hope that it will be useful,
19     but WITHOUT ANY WARRANTY; without even the implied warranty of
20     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21     GNU General Public License for more details.
22
23     You should have received a copy of the GNU General Public License
24     along with this program; if not, write to the Free Software
25     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26
27     =========================================================================
28 */

29 /**
30  *
31  * $Id: JMOSContactDetails.java,v 1.6 2007/01/28 17:39:20 popolony2k Exp $
32  * $Author: popolony2k $
33  * $Name: $
34  * $Revision: 1.6 $
35  * $State: Exp $
36  *
37  */

38
39 package org.planetamessenger.mos.forms;
40
41 import org.planetamessenger.plugin.*;
42 import org.planetamessenger.mos.engine.*;
43
44
45 public class JMOSContactDetails extends javax.swing.JDialog JavaDoc {
46
47   private static int WINDOW_WIDTH = 300;
48   private static int WINDOW_HEIGHT = 480;
49
50   private JContactListItem contactItem = null;
51   private javax.swing.JButton JavaDoc okButton = null;
52   private javax.swing.JButton JavaDoc cancelButton = null;
53   private javax.swing.JLabel JavaDoc userIdLabel = null;
54   private javax.swing.JLabel JavaDoc userIdContent = null;
55   private javax.swing.JLabel JavaDoc nickNameLabel = null;
56   private javax.swing.JLabel JavaDoc nickNameContent = null;
57   private javax.swing.JLabel JavaDoc firstNameLabel = null;
58   private javax.swing.JTextField JavaDoc firstNameText = null;
59   private javax.swing.JLabel JavaDoc lastNameLabel = null;
60   private javax.swing.JTextField JavaDoc lastNameText = null;
61   private javax.swing.JLabel JavaDoc genderLabel = null;
62   private javax.swing.JComboBox JavaDoc genderCombo = null;
63   private javax.swing.JLabel JavaDoc emailLabel = null;
64   private javax.swing.JTextField JavaDoc emailText = null;
65   private javax.swing.JLabel JavaDoc ageLabel = null;
66   private javax.swing.JTextField JavaDoc ageText = null;
67   private javax.swing.JLabel JavaDoc notesLabel = null;
68   private javax.swing.JTextPane JavaDoc notesText = null;
69   private javax.swing.JScrollPane JavaDoc notesScroll = null;
70
71
72   /**
73    * Constructor. Initializes class data.
74    * @param contactItem The JContactListItem object with contact information.
75    */

76   public JMOSContactDetails( JContactListItem contactItem ) {
77
78     super( JSharedObjects.getMainWindow(), true );
79     this.contactItem = contactItem;
80     initComponents();
81   }
82   
83   /**
84    * Initializes all components of this
85    * window.
86    */

87   private void initComponents() {
88
89     java.awt.GridBagConstraints JavaDoc constraints = new java.awt.GridBagConstraints JavaDoc();
90     javax.swing.Box JavaDoc btnsPanel = javax.swing.Box.createHorizontalBox();
91     String JavaDoc strNotes = contactItem.getNotes();
92     
93     
94     okButton = new javax.swing.JButton JavaDoc();
95     cancelButton = new javax.swing.JButton JavaDoc();
96     
97     userIdLabel = new javax.swing.JLabel JavaDoc( JSharedObjects.getLanguageManager().getStringEx( "USER" ) );
98     userIdContent = new javax.swing.JLabel JavaDoc( "<html><b>" + contactItem.getUserId() + "</b></html>" );
99     nickNameLabel = new javax.swing.JLabel JavaDoc( JSharedObjects.getLanguageManager().getStringEx( "NICK_NAME" ) );
100     nickNameContent = new javax.swing.JLabel JavaDoc( "<html><b>" + contactItem.getNickName() + "</b></html>" );
101     firstNameLabel = new javax.swing.JLabel JavaDoc( JSharedObjects.getLanguageManager().getStringEx( "FIRST_NAME" ) );
102     firstNameText = new javax.swing.JTextField JavaDoc( contactItem.getFirstName() );
103     lastNameLabel = new javax.swing.JLabel JavaDoc( JSharedObjects.getLanguageManager().getStringEx( "LAST_NAME" ) );
104     lastNameText = new javax.swing.JTextField JavaDoc( contactItem.getLastName() );
105     genderLabel = new javax.swing.JLabel JavaDoc( JSharedObjects.getLanguageManager().getStringEx( "GENDER" ) );
106     genderCombo = new javax.swing.JComboBox JavaDoc();
107     emailLabel = new javax.swing.JLabel JavaDoc( JSharedObjects.getLanguageManager().getStringEx( "EMAIL" ) );
108     emailText = new javax.swing.JTextField JavaDoc( contactItem.getEmail() );
109     ageLabel = new javax.swing.JLabel JavaDoc( JSharedObjects.getLanguageManager().getStringEx( "AGE" ) );
110     ageText = new javax.swing.JTextField JavaDoc( Integer.toString( contactItem.getAge() ) );
111     notesLabel = new javax.swing.JLabel JavaDoc( JSharedObjects.getLanguageManager().getStringEx( "NOTES" ) );
112     notesText = new javax.swing.JTextPane JavaDoc();
113     notesScroll = new javax.swing.JScrollPane JavaDoc( notesText );
114
115     setDefaultCloseOperation( javax.swing.WindowConstants.DISPOSE_ON_CLOSE );
116     getContentPane().setLayout( new java.awt.GridBagLayout JavaDoc() );
117     setTitle( JSharedObjects.getLanguageManager().getStringEx( "CONTACT_DETAILS_FOR" ) + " " + contactItem.getUserId() + " - " + contactItem.getNickName() );
118     
119     addWindowListener( new java.awt.event.WindowAdapter JavaDoc() {
120       public void windowClosing( java.awt.event.WindowEvent JavaDoc evt ) {
121         closeDialog( evt );
122       }
123     } );
124
125     // Label initializations
126
userIdLabel.setFont( JSystemFonts.FONT );
127     userIdContent.setFont( JSystemFonts.FONT );
128     nickNameLabel.setFont( JSystemFonts.FONT );
129     nickNameContent.setFont( JSystemFonts.FONT );
130     firstNameLabel.setFont( JSystemFonts.FONT );
131     lastNameLabel.setFont( JSystemFonts.FONT );
132     genderLabel.setFont( JSystemFonts.FONT );
133     firstNameText.setFont( JSystemFonts.FONT );
134     lastNameText.setFont( JSystemFonts.FONT );
135     genderCombo.setFont( JSystemFonts.FONT );
136     emailLabel.setFont( JSystemFonts.FONT );
137     emailText.setFont( JSystemFonts.FONT );
138     ageLabel.setFont( JSystemFonts.FONT );
139     ageText.setFont( JSystemFonts.FONT );
140     notesLabel.setFont( JSystemFonts.FONT );
141     notesText.setFont( JSystemFonts.FONT );
142
143     // Age text initialization
144
ageText.setPreferredSize( new java.awt.Dimension JavaDoc( 40, ageText.getPreferredSize().height ) );
145     ageText.setMinimumSize( ageText.getPreferredSize() );
146
147     // Gender combo initialization
148
genderCombo.addItem( JSharedObjects.getLanguageManager().getStringEx( "NONE" ) );
149     genderCombo.addItem( JSharedObjects.getLanguageManager().getStringEx( "MALE" ) );
150     genderCombo.addItem( JSharedObjects.getLanguageManager().getStringEx( "FEMALE" ) );
151     genderCombo.setSelectedIndex( ( contactItem.getGender() != -1 ? contactItem.getGender() : 0 ) );
152
153     // Notes text initialization
154
notesText.setText( ( strNotes != null ? strNotes : "" ) );
155     //notesText.setBorder( javax.swing.border.LineBorder.createGrayLineBorder() );
156

157     // Ok Button initialization
158
okButton.setFont( JSystemFonts.FONT );
159     okButton.setIcon( JSharedObjects.getResources().getIcon( JResources.OK_BUTTON_ICON ) );
160     okButton.setText( JSharedObjects.getLanguageManager().getStringEx( "OK" ) );
161     okButton.setEnabled( true );
162     okButton.setPreferredSize( new java.awt.Dimension JavaDoc( JResources.DEFAULT_BUTTON_WIDTH, JResources.DEFAULT_BUTTON_HEIGHT ) );
163     okButton.setMinimumSize( okButton.getPreferredSize() );
164     okButton.addActionListener( new java.awt.event.ActionListener JavaDoc() {
165                                     public void actionPerformed( java.awt.event.ActionEvent JavaDoc evt ) {
166                                       okButtonActionPerformed();
167                                     }
168                                   }
169                                );
170                                
171     // Cancel Button initialization
172
cancelButton.setFont( JSystemFonts.FONT );
173     cancelButton.setIcon( JSharedObjects.getResources().getIcon( JResources.CLOSE_BUTTON_ICON ) );
174     cancelButton.setText( JSharedObjects.getLanguageManager().getStringEx( "CANCEL" ) );
175     cancelButton.setPreferredSize( new java.awt.Dimension JavaDoc( JResources.DEFAULT_BUTTON_WIDTH, JResources.DEFAULT_BUTTON_HEIGHT ) );
176     cancelButton.setMinimumSize( cancelButton.getPreferredSize() );
177     cancelButton.addActionListener( new java.awt.event.ActionListener JavaDoc() {
178                                       public void actionPerformed( java.awt.event.ActionEvent JavaDoc evt ) {
179                                         closeDialog( null );
180                                       }
181                                     }
182                                   );
183
184     btnsPanel.add( javax.swing.Box.createHorizontalGlue() );
185     btnsPanel.add( cancelButton );
186     btnsPanel.add( okButton );
187
188     // Setup and Add the UserId label
189
constraints.gridx = 0;
190     constraints.gridy = 0;
191     constraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
192     constraints.gridheight = 1;
193     constraints.weightx = 0.0001;
194     constraints.weighty = 0.0001;
195     constraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
196     constraints.anchor = java.awt.GridBagConstraints.NORTH;
197     constraints.insets = new java.awt.Insets JavaDoc( 2, 2, 2, 2 );
198     getContentPane().add( userIdLabel, constraints );
199
200     // Add user id content
201
constraints.gridy++;
202     getContentPane().add( userIdContent, constraints );
203
204     // Add nickname label and content
205
constraints.gridy++;
206     getContentPane().add( nickNameLabel, constraints );
207
208     constraints.gridy++;
209     getContentPane().add( nickNameContent, constraints );
210
211     // Add first name label and text field
212
constraints.gridy++;
213     getContentPane().add( firstNameLabel, constraints );
214
215     constraints.gridy++;
216     getContentPane().add( firstNameText, constraints );
217
218     // Add last name label and text field
219
constraints.gridy++;
220     getContentPane().add( lastNameLabel, constraints );
221
222     constraints.gridy++;
223     getContentPane().add( lastNameText, constraints );
224
225     // Add email label and text field
226
constraints.gridy++;
227     getContentPane().add( emailLabel, constraints );
228
229     constraints.gridy++;
230     getContentPane().add( emailText, constraints );
231     
232     // Add gender label and combo box
233
constraints.gridy++;
234     getContentPane().add( genderLabel, constraints );
235
236     constraints.gridy++;
237     getContentPane().add( genderCombo, constraints );
238     
239     // Add age label and text field
240
constraints.gridy++;
241     getContentPane().add( ageLabel, constraints );
242
243     constraints.gridy++;
244     constraints.fill = java.awt.GridBagConstraints.NONE;
245     constraints.anchor = java.awt.GridBagConstraints.WEST;
246     getContentPane().add( ageText, constraints );
247
248     // Add notes label and text field
249
constraints.gridy++;
250     constraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
251     constraints.anchor = java.awt.GridBagConstraints.NORTH;
252     getContentPane().add( notesLabel, constraints );
253
254     constraints.gridy++;
255     constraints.fill = java.awt.GridBagConstraints.BOTH;
256     constraints.weightx = 1.0;
257     constraints.weighty = 1.0;
258     getContentPane().add( notesScroll, constraints );
259
260     // Setup and Add Buttons panel
261
constraints.gridy++;
262     constraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
263     constraints.gridheight = java.awt.GridBagConstraints.RELATIVE;
264     constraints.fill = java.awt.GridBagConstraints.CENTER;
265     constraints.anchor = java.awt.GridBagConstraints.SOUTH;
266     constraints.weighty = 0.01;
267
268     getContentPane().add( btnsPanel, constraints );
269
270     // Sets the initial dialog position
271
java.awt.Dimension JavaDoc screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
272     setSize( new java.awt.Dimension JavaDoc( WINDOW_WIDTH, WINDOW_HEIGHT ) );
273     setLocation( ( screenSize.width - getSize().width ) / 2, ( screenSize.height - getSize().height ) / 2 );
274     setResizable( true );
275   }
276   
277   /**
278    * Implements the onClick event for Ok button.
279    */

280   private void okButtonActionPerformed() {
281
282     contactItem.setFirstName( firstNameText.getText().replace( '\'', '`' ) );
283     contactItem.setLastName( lastNameText.getText().replace( '\'', '`' ) );
284     contactItem.setGender( genderCombo.getSelectedIndex() );
285     contactItem.setEmail( emailText.getText().replace( '\'', '`' ) );
286     contactItem.setAge( Integer.parseInt( ageText.getText().replace( '\'', '`' ) ) );
287     contactItem.setNotes( notesText.getText().replace( '\'', '`' ) );
288     
289     JSharedObjects.getContactListManager().updateContactInfo( contactItem );
290     closeDialog( null );
291   }
292
293   /**
294    * Implements the closeDialog event handler.
295    * @param evt The close window event object;
296    */

297   private void closeDialog( java.awt.event.WindowEvent JavaDoc evt ) {
298     setVisible( false );
299     dispose();
300   }
301 }
302
303 // JMOSPrivacyDlg class
Popular Tags