KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openharmonise > him > authentication > gui > ChangePasswordDialog


1 /*
2  * The contents of this file are subject to the
3  * Mozilla Public License Version 1.1 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at http://www.mozilla.org/MPL/
6  *
7  * Software distributed under the License is distributed on an "AS IS"
8  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
9  * See the License for the specific language governing rights and
10  * limitations under the License.
11  *
12  * The Initial Developer of the Original Code is Simulacra Media Ltd.
13  * Portions created by Simulacra Media Ltd are Copyright (C) Simulacra Media Ltd, 2004.
14  *
15  * All Rights Reserved.
16  *
17  * Contributor(s):
18  */

19 package org.openharmonise.him.authentication.gui;
20
21 import java.awt.BorderLayout JavaDoc;
22 import java.awt.Color JavaDoc;
23 import java.awt.Component JavaDoc;
24 import java.awt.Container JavaDoc;
25 import java.awt.Dialog JavaDoc;
26 import java.awt.Dimension JavaDoc;
27 import java.awt.Font JavaDoc;
28 import java.awt.Frame JavaDoc;
29 import java.awt.GraphicsConfiguration JavaDoc;
30 import java.awt.HeadlessException JavaDoc;
31 import java.awt.LayoutManager JavaDoc;
32 import java.awt.event.ActionEvent JavaDoc;
33 import java.awt.event.ActionListener JavaDoc;
34 import java.awt.event.KeyEvent JavaDoc;
35 import java.awt.event.KeyListener JavaDoc;
36
37 import javax.swing.BorderFactory JavaDoc;
38 import javax.swing.ImageIcon JavaDoc;
39 import javax.swing.JButton JavaDoc;
40 import javax.swing.JDialog JavaDoc;
41 import javax.swing.JFrame JavaDoc;
42 import javax.swing.JLabel JavaDoc;
43 import javax.swing.JPanel JavaDoc;
44 import javax.swing.border.LineBorder JavaDoc;
45 import javax.swing.border.TitledBorder JavaDoc;
46
47 import org.openharmonise.vfs.gui.*;
48
49
50 /**
51  * Dialog to change a user's password.
52  *
53  * @author Matthew Large
54  * @version $Revision: 1.1 $
55  *
56  */

57 public class ChangePasswordDialog extends JDialog JavaDoc implements KeyListener JavaDoc, LayoutManager JavaDoc, ActionListener JavaDoc {
58
59     /**
60      * Simulacra logo.
61      */

62     private JLabel JavaDoc m_logo = null;
63     
64     /**
65      * Simulacra buildings coporate image.
66      */

67     private JLabel JavaDoc m_logoBuildings = null;
68     
69     /**
70      * Simulacra people coporate image.
71      */

72     private JLabel JavaDoc m_logoPeople = null;
73     
74     /**
75      * Simulacra files coporate image.
76      */

77     private JLabel JavaDoc m_logoFiles = null;
78     
79     /**
80      * Data entry panel.
81      */

82     private ChangePasswordPanel m_entryPanel = null;
83     
84     /**
85      * OK button.
86      */

87     private JButton JavaDoc m_okButton = null;
88     
89     /**
90      * Cancel button.
91      */

92     private JButton JavaDoc m_cancelButton = null;
93     
94     /**
95      * Message label.
96      */

97     private JLabel JavaDoc m_information = null;
98     
99     /**
100      * Main panel.
101      */

102     private JPanel JavaDoc m_panel = null;
103     
104     /**
105      * Height of the data entry panel.
106      */

107     private int m_nEntryPanelHeight = 250;
108     
109     /**
110      * Height of the main panel.
111      */

112     private int m_nDialogPanelHeight = 420;
113
114     /**
115      * Constructs a new change password dialog.
116      *
117      * @param frame Owning frame
118      * @throws HeadlessException
119      */

120     public ChangePasswordDialog(Frame JavaDoc frame) throws HeadlessException JavaDoc {
121         super(frame, true);
122         this.setup();
123     }
124     
125     /**
126      * Configures the change password dialog.
127      *
128      */

129     private void setup() {
130             
131         this.setResizable(false);
132         
133         m_panel = new JPanel JavaDoc();
134         m_panel.setLayout(this);
135         this.getContentPane().setLayout(new BorderLayout JavaDoc());
136         this.getContentPane().add(m_panel);
137         
138         this.setTitle("Harmonise");
139         this.setSize(500,400);
140         m_panel.setBackground(new Color JavaDoc(224,224,224));
141         
142         int x = this.getGraphicsConfiguration().getBounds().width/2-this.getSize().width/2;
143         int y = this.getGraphicsConfiguration().getBounds().height/2-this.getSize().height/2;
144         
145         this.setLocation(x, y);
146         
147         m_logo = new JLabel JavaDoc();
148         m_logo.setToolTipText("Connecting people and information to create knowledge");
149         m_logo.setIcon( IconManager.getInstance().getIcon("login-sim-logo.png") );
150         m_panel.add(m_logo);
151         
152         m_logoBuildings = new JLabel JavaDoc();
153         m_logoBuildings.setToolTipText("Conecting organisations");
154         m_logoBuildings.setIcon( IconManager.getInstance().getIcon("login-sim-buildings.png") );
155         m_panel.add(m_logoBuildings);
156         
157         m_logoPeople = new JLabel JavaDoc();
158         m_logoPeople.setToolTipText("Conecting people");
159         m_logoPeople.setIcon( IconManager.getInstance().getIcon("login-sim-people.png") );
160         m_panel.add(m_logoPeople);
161         
162         m_logoFiles = new JLabel JavaDoc();
163         m_logoFiles.setToolTipText("Conecting information");
164         m_logoFiles.setIcon( IconManager.getInstance().getIcon("login-sim-files.png") );
165         m_panel.add(m_logoFiles);
166         
167         m_entryPanel = new ChangePasswordPanel(this);
168         String JavaDoc fontName = "Dialog";
169         int fontSize = 11;
170         Font JavaDoc font = new Font JavaDoc(fontName, Font.PLAIN, fontSize);
171         m_entryPanel.setBackground(new Color JavaDoc(224,224,224));
172
173         LineBorder JavaDoc lineBorder = (LineBorder JavaDoc) BorderFactory.createLineBorder(Color.BLACK);
174         TitledBorder JavaDoc border = BorderFactory.createTitledBorder(lineBorder,
175                                     "Enter the old and new log in details",
176                                     TitledBorder.DEFAULT_JUSTIFICATION,
177                                     TitledBorder.DEFAULT_POSITION,
178                                     font,
179                                     Color.BLACK);
180
181         m_entryPanel.setBorder( border );
182         m_panel.add(m_entryPanel);
183         
184         m_okButton = new JButton JavaDoc("OK");
185         m_okButton.setActionCommand("OK");
186         m_okButton.setFont(font);
187         m_okButton.addActionListener(this);
188         m_panel.add(m_okButton);
189         
190         m_cancelButton = new JButton JavaDoc("Cancel");
191         m_cancelButton.setActionCommand("CANCEL");
192         m_cancelButton.setFont(font);
193         m_cancelButton.addActionListener(this);
194         m_panel.add(m_cancelButton);
195     }
196     
197     /**
198      * Sets the message text to appear on the change password dialog.
199      *
200      * @param sText Message text
201      */

202     public void setInformationText(String JavaDoc sText) {
203         String JavaDoc fontName = "Dialog";
204         int fontSize = 11;
205         Font JavaDoc font = new Font JavaDoc(fontName, Font.PLAIN, fontSize);
206         this.m_information = new JLabel JavaDoc(sText);
207         this.m_information.setFont(font);
208         m_panel.add(this.m_information);
209         this.setSize(500,430);
210     }
211     
212     public static void main(String JavaDoc[] args) {
213         JFrame JavaDoc tempFrame = new JFrame JavaDoc();
214         tempFrame.setIconImage( ((ImageIcon JavaDoc)IconManager.getInstance().getIcon("32-sim-logo.gif")).getImage() );
215
216         ChangePasswordDialog dialog = new ChangePasswordDialog(tempFrame);
217         dialog.show();
218         
219         dialog = new ChangePasswordDialog(tempFrame);
220         dialog.setInformationText("Some information text...");
221         dialog.show();
222         
223         System.exit(0);
224     }
225     
226     
227     
228     
229     
230     
231     
232     
233
234     /**
235      * Returns the new password entered into the dialog.
236      *
237      * @return New password
238      */

239     public String JavaDoc getNewPassword() {
240         return this.m_entryPanel.getNewPassword();
241     }
242
243     /**
244      * @param arg0
245      * @throws java.awt.HeadlessException
246      */

247     private ChangePasswordDialog(Dialog JavaDoc arg0) throws HeadlessException JavaDoc {
248         super(arg0);
249     }
250
251     /**
252      * @param arg0
253      * @param arg1
254      * @throws java.awt.HeadlessException
255      */

256     private ChangePasswordDialog(Dialog JavaDoc arg0, boolean arg1) throws HeadlessException JavaDoc {
257         super(arg0, arg1);
258     }
259
260     /**
261      * @param arg0
262      * @throws java.awt.HeadlessException
263      */

264     private ChangePasswordDialog() throws HeadlessException JavaDoc {
265         super();
266     }
267
268     /**
269      * @param arg0
270      * @param arg1
271      * @throws java.awt.HeadlessException
272      */

273     private ChangePasswordDialog(Frame JavaDoc arg0, boolean arg1) throws HeadlessException JavaDoc {
274         super(arg0, arg1);
275     }
276
277     /**
278      * @param arg0
279      * @param arg1
280      * @throws java.awt.HeadlessException
281      */

282     private ChangePasswordDialog(Dialog JavaDoc arg0, String JavaDoc arg1) throws HeadlessException JavaDoc {
283         super(arg0, arg1);
284     }
285
286     /**
287      * @param arg0
288      * @param arg1
289      * @param arg2
290      * @throws java.awt.HeadlessException
291      */

292     private ChangePasswordDialog(Dialog JavaDoc arg0, String JavaDoc arg1, boolean arg2)
293         throws HeadlessException JavaDoc {
294         super(arg0, arg1, arg2);
295     }
296
297     /**
298      * @param arg0
299      * @param arg1
300      * @throws java.awt.HeadlessException
301      */

302     private ChangePasswordDialog(Frame JavaDoc arg0, String JavaDoc arg1) throws HeadlessException JavaDoc {
303         super(arg0, arg1);
304     }
305
306     /**
307      * @param arg0
308      * @param arg1
309      * @param arg2
310      * @throws java.awt.HeadlessException
311      */

312     private ChangePasswordDialog(Frame JavaDoc arg0, String JavaDoc arg1, boolean arg2)
313         throws HeadlessException JavaDoc {
314         super(arg0, arg1, arg2);
315     }
316
317     /**
318      * @param arg0
319      * @param arg1
320      * @param arg2
321      * @param arg3
322      * @throws java.awt.HeadlessException
323      */

324     private ChangePasswordDialog(
325         Dialog JavaDoc arg0,
326         String JavaDoc arg1,
327         boolean arg2,
328         GraphicsConfiguration JavaDoc arg3)
329         throws HeadlessException JavaDoc {
330         super(arg0, arg1, arg2, arg3);
331     }
332
333     /**
334      * @param arg0
335      * @param arg1
336      * @param arg2
337      * @param arg3
338      */

339     private ChangePasswordDialog(
340         Frame JavaDoc arg0,
341         String JavaDoc arg1,
342         boolean arg2,
343         GraphicsConfiguration JavaDoc arg3) {
344         super(arg0, arg1, arg2, arg3);
345     }
346
347     /* (non-Javadoc)
348      * @see java.awt.LayoutManager#removeLayoutComponent(java.awt.Component)
349      */

350     public void removeLayoutComponent(Component JavaDoc arg0) {
351     }
352
353     /* (non-Javadoc)
354      * @see java.awt.LayoutManager#layoutContainer(java.awt.Container)
355      */

356     public void layoutContainer(Container JavaDoc arg0) {
357         m_logo.setLocation(10,10);
358         m_logo.setSize(new Dimension JavaDoc(200,50));
359
360         m_logoBuildings.setLocation(320,10);
361         m_logoBuildings.setSize(new Dimension JavaDoc(50,50));
362
363         m_logoPeople.setLocation(375,10);
364         m_logoPeople.setSize(new Dimension JavaDoc(50,50));
365
366         m_logoFiles.setLocation(430,10);
367         m_logoFiles.setSize(new Dimension JavaDoc(50,50));
368         
369         int nHeight = 70;
370         
371         if(this.m_information!=null) {
372             this.m_information.setLocation(10, nHeight);
373             this.m_information.setSize(470, 20);
374             nHeight = nHeight+30;
375         }
376         
377         m_entryPanel.setLocation(10, nHeight);
378         m_entryPanel.setSize(new Dimension JavaDoc(470, m_nEntryPanelHeight));
379         nHeight = nHeight+m_nEntryPanelHeight+10;
380         
381         m_okButton.setLocation(330, nHeight);
382         m_okButton.setSize(70,20);
383         
384         m_cancelButton.setLocation(410, nHeight);
385         m_cancelButton.setSize(70,20);
386         this.setSize(500,m_nDialogPanelHeight);
387     }
388     
389     /**
390      * Returns the username from the change password dialog.
391      *
392      * @return Username
393      */

394     public String JavaDoc getUsername() {
395         return this.m_entryPanel.getUsername();
396     }
397     
398     /**
399      * Sets the username and pre-populates it into the change
400      * password dialog.
401      *
402      * @param sUsername Username
403      */

404     public void setUsername(String JavaDoc sUsername) {
405         LineBorder JavaDoc lineBorder = (LineBorder JavaDoc) BorderFactory.createLineBorder(Color.BLACK);
406         String JavaDoc fontName = "Dialog";
407         int fontSize = 11;
408         Font JavaDoc font = new Font JavaDoc(fontName, Font.PLAIN, fontSize);
409         TitledBorder JavaDoc border = BorderFactory.createTitledBorder(lineBorder,
410                             "Enter the new log in details",
411                             TitledBorder.DEFAULT_JUSTIFICATION,
412                             TitledBorder.DEFAULT_POSITION,
413                             font,
414                             Color.BLACK);
415         this.m_entryPanel.setUsername(sUsername);
416         this.m_nEntryPanelHeight = this.m_nEntryPanelHeight-50;
417         this.m_nDialogPanelHeight = this.m_nDialogPanelHeight-40;
418         this.setSize(500,m_nDialogPanelHeight);
419     }
420     
421     /**
422      * Returns the original password.
423      *
424      * @return Password
425      */

426     public String JavaDoc getPassword() {
427         return this.m_entryPanel.getPassword();
428     }
429     
430     /**
431      * Sets the original password and pre-populates the change
432      * password dialog.
433      *
434      * @param sPassword Password
435      */

436     public void setPassword(String JavaDoc sPassword) {
437         LineBorder JavaDoc lineBorder = (LineBorder JavaDoc) BorderFactory.createLineBorder(Color.BLACK);
438         String JavaDoc fontName = "Dialog";
439         int fontSize = 11;
440         Font JavaDoc font = new Font JavaDoc(fontName, Font.PLAIN, fontSize);
441         TitledBorder JavaDoc border = BorderFactory.createTitledBorder(lineBorder,
442                             "Enter the new log in details",
443                             TitledBorder.DEFAULT_JUSTIFICATION,
444                             TitledBorder.DEFAULT_POSITION,
445                             font,
446                             Color.BLACK);
447
448         m_entryPanel.setBorder( border );
449         
450         this.m_entryPanel.setPassword(sPassword);
451         this.m_nEntryPanelHeight = this.m_nEntryPanelHeight-50;
452         this.m_nDialogPanelHeight = this.m_nDialogPanelHeight-40;
453         this.setSize(500,m_nDialogPanelHeight);
454     }
455
456     /* (non-Javadoc)
457      * @see java.awt.LayoutManager#addLayoutComponent(java.lang.String, java.awt.Component)
458      */

459     public void addLayoutComponent(String JavaDoc arg0, Component JavaDoc arg1) {
460     }
461
462     /* (non-Javadoc)
463      * @see java.awt.LayoutManager#minimumLayoutSize(java.awt.Container)
464      */

465     public Dimension JavaDoc minimumLayoutSize(Container JavaDoc arg0) {
466         return new Dimension JavaDoc(500,250);
467     }
468
469     /* (non-Javadoc)
470      * @see java.awt.LayoutManager#preferredLayoutSize(java.awt.Container)
471      */

472     public Dimension JavaDoc preferredLayoutSize(Container JavaDoc arg0) {
473         return new Dimension JavaDoc(500,250);
474     }
475
476     /* (non-Javadoc)
477      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
478      */

479     public void actionPerformed(ActionEvent JavaDoc ae) {
480         if(ae.getActionCommand().equals("OK")) {
481 // NO OP
482
} else if(ae.getActionCommand().equals("CANCEL")) {
483
484         }
485 // hide frame
486
this.getOwner().setVisible(false);
487         this.hide();
488     }
489
490     /* (non-Javadoc)
491      * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
492      */

493     public void keyPressed(KeyEvent JavaDoc ke) {
494         if(ke.getKeyCode()==KeyEvent.VK_ENTER) {
495 // hide frame
496
this.getOwner().setVisible(false);
497             this.hide();
498         }
499     }
500
501     /* (non-Javadoc)
502      * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
503      */

504     public void keyReleased(KeyEvent JavaDoc arg0) {
505     }
506
507     /* (non-Javadoc)
508      * @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent)
509      */

510     public void keyTyped(KeyEvent JavaDoc arg0) {
511     }
512
513 }
514
Popular Tags