1 29 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 { 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 okButton = null; 52 private javax.swing.JButton cancelButton = null; 53 private javax.swing.JLabel userIdLabel = null; 54 private javax.swing.JLabel userIdContent = null; 55 private javax.swing.JLabel nickNameLabel = null; 56 private javax.swing.JLabel nickNameContent = null; 57 private javax.swing.JLabel firstNameLabel = null; 58 private javax.swing.JTextField firstNameText = null; 59 private javax.swing.JLabel lastNameLabel = null; 60 private javax.swing.JTextField lastNameText = null; 61 private javax.swing.JLabel genderLabel = null; 62 private javax.swing.JComboBox genderCombo = null; 63 private javax.swing.JLabel emailLabel = null; 64 private javax.swing.JTextField emailText = null; 65 private javax.swing.JLabel ageLabel = null; 66 private javax.swing.JTextField ageText = null; 67 private javax.swing.JLabel notesLabel = null; 68 private javax.swing.JTextPane notesText = null; 69 private javax.swing.JScrollPane notesScroll = null; 70 71 72 76 public JMOSContactDetails( JContactListItem contactItem ) { 77 78 super( JSharedObjects.getMainWindow(), true ); 79 this.contactItem = contactItem; 80 initComponents(); 81 } 82 83 87 private void initComponents() { 88 89 java.awt.GridBagConstraints constraints = new java.awt.GridBagConstraints (); 90 javax.swing.Box btnsPanel = javax.swing.Box.createHorizontalBox(); 91 String strNotes = contactItem.getNotes(); 92 93 94 okButton = new javax.swing.JButton (); 95 cancelButton = new javax.swing.JButton (); 96 97 userIdLabel = new javax.swing.JLabel ( JSharedObjects.getLanguageManager().getStringEx( "USER" ) ); 98 userIdContent = new javax.swing.JLabel ( "<html><b>" + contactItem.getUserId() + "</b></html>" ); 99 nickNameLabel = new javax.swing.JLabel ( JSharedObjects.getLanguageManager().getStringEx( "NICK_NAME" ) ); 100 nickNameContent = new javax.swing.JLabel ( "<html><b>" + contactItem.getNickName() + "</b></html>" ); 101 firstNameLabel = new javax.swing.JLabel ( JSharedObjects.getLanguageManager().getStringEx( "FIRST_NAME" ) ); 102 firstNameText = new javax.swing.JTextField ( contactItem.getFirstName() ); 103 lastNameLabel = new javax.swing.JLabel ( JSharedObjects.getLanguageManager().getStringEx( "LAST_NAME" ) ); 104 lastNameText = new javax.swing.JTextField ( contactItem.getLastName() ); 105 genderLabel = new javax.swing.JLabel ( JSharedObjects.getLanguageManager().getStringEx( "GENDER" ) ); 106 genderCombo = new javax.swing.JComboBox (); 107 emailLabel = new javax.swing.JLabel ( JSharedObjects.getLanguageManager().getStringEx( "EMAIL" ) ); 108 emailText = new javax.swing.JTextField ( contactItem.getEmail() ); 109 ageLabel = new javax.swing.JLabel ( JSharedObjects.getLanguageManager().getStringEx( "AGE" ) ); 110 ageText = new javax.swing.JTextField ( Integer.toString( contactItem.getAge() ) ); 111 notesLabel = new javax.swing.JLabel ( JSharedObjects.getLanguageManager().getStringEx( "NOTES" ) ); 112 notesText = new javax.swing.JTextPane (); 113 notesScroll = new javax.swing.JScrollPane ( notesText ); 114 115 setDefaultCloseOperation( javax.swing.WindowConstants.DISPOSE_ON_CLOSE ); 116 getContentPane().setLayout( new java.awt.GridBagLayout () ); 117 setTitle( JSharedObjects.getLanguageManager().getStringEx( "CONTACT_DETAILS_FOR" ) + " " + contactItem.getUserId() + " - " + contactItem.getNickName() ); 118 119 addWindowListener( new java.awt.event.WindowAdapter () { 120 public void windowClosing( java.awt.event.WindowEvent evt ) { 121 closeDialog( evt ); 122 } 123 } ); 124 125 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 ageText.setPreferredSize( new java.awt.Dimension ( 40, ageText.getPreferredSize().height ) ); 145 ageText.setMinimumSize( ageText.getPreferredSize() ); 146 147 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 notesText.setText( ( strNotes != null ? strNotes : "" ) ); 155 157 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 ( JResources.DEFAULT_BUTTON_WIDTH, JResources.DEFAULT_BUTTON_HEIGHT ) ); 163 okButton.setMinimumSize( okButton.getPreferredSize() ); 164 okButton.addActionListener( new java.awt.event.ActionListener () { 165 public void actionPerformed( java.awt.event.ActionEvent evt ) { 166 okButtonActionPerformed(); 167 } 168 } 169 ); 170 171 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 ( JResources.DEFAULT_BUTTON_WIDTH, JResources.DEFAULT_BUTTON_HEIGHT ) ); 176 cancelButton.setMinimumSize( cancelButton.getPreferredSize() ); 177 cancelButton.addActionListener( new java.awt.event.ActionListener () { 178 public void actionPerformed( java.awt.event.ActionEvent 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 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 ( 2, 2, 2, 2 ); 198 getContentPane().add( userIdLabel, constraints ); 199 200 constraints.gridy++; 202 getContentPane().add( userIdContent, constraints ); 203 204 constraints.gridy++; 206 getContentPane().add( nickNameLabel, constraints ); 207 208 constraints.gridy++; 209 getContentPane().add( nickNameContent, constraints ); 210 211 constraints.gridy++; 213 getContentPane().add( firstNameLabel, constraints ); 214 215 constraints.gridy++; 216 getContentPane().add( firstNameText, constraints ); 217 218 constraints.gridy++; 220 getContentPane().add( lastNameLabel, constraints ); 221 222 constraints.gridy++; 223 getContentPane().add( lastNameText, constraints ); 224 225 constraints.gridy++; 227 getContentPane().add( emailLabel, constraints ); 228 229 constraints.gridy++; 230 getContentPane().add( emailText, constraints ); 231 232 constraints.gridy++; 234 getContentPane().add( genderLabel, constraints ); 235 236 constraints.gridy++; 237 getContentPane().add( genderCombo, constraints ); 238 239 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 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 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 java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); 272 setSize( new java.awt.Dimension ( WINDOW_WIDTH, WINDOW_HEIGHT ) ); 273 setLocation( ( screenSize.width - getSize().width ) / 2, ( screenSize.height - getSize().height ) / 2 ); 274 setResizable( true ); 275 } 276 277 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 297 private void closeDialog( java.awt.event.WindowEvent evt ) { 298 setVisible( false ); 299 dispose(); 300 } 301 } 302 303 | Popular Tags |