Mercurial > hg > Members > nobuyasu > tightVNCClient
comparison src/AuthPanel.java @ 0:e04119c40b9b
upload all file of tighVNCClient
author | e085711 |
---|---|
date | Tue, 12 Apr 2011 12:57:33 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e04119c40b9b |
---|---|
1 // | |
2 // Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved. | |
3 // Copyright (C) 2002-2006 Constantin Kaplinsky. All Rights Reserved. | |
4 // | |
5 // This is free software; you can redistribute it and/or modify | |
6 // it under the terms of the GNU General Public License as published by | |
7 // the Free Software Foundation; either version 2 of the License, or | |
8 // (at your option) any later version. | |
9 // | |
10 // This software is distributed in the hope that it will be useful, | |
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 // GNU General Public License for more details. | |
14 // | |
15 // You should have received a copy of the GNU General Public License | |
16 // along with this software; if not, write to the Free Software | |
17 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | |
18 // USA. | |
19 // | |
20 | |
21 import java.awt.*; | |
22 import java.awt.event.*; | |
23 | |
24 // | |
25 // The panel which implements the user authentication scheme | |
26 // | |
27 | |
28 class AuthPanel extends Panel implements ActionListener { | |
29 | |
30 TextField passwordField; | |
31 Button okButton; | |
32 | |
33 // | |
34 // Constructor. | |
35 // | |
36 | |
37 public AuthPanel(VncViewer viewer) | |
38 { | |
39 Label titleLabel = new Label("VNC Authentication", Label.CENTER); | |
40 titleLabel.setFont(new Font("Helvetica", Font.BOLD, 18)); | |
41 | |
42 Label promptLabel = new Label("Password:", Label.CENTER); | |
43 | |
44 passwordField = new TextField(10); | |
45 passwordField.setForeground(Color.black); | |
46 passwordField.setBackground(Color.white); | |
47 passwordField.setEchoChar('*'); | |
48 | |
49 okButton = new Button("OK"); | |
50 | |
51 GridBagLayout gridbag = new GridBagLayout(); | |
52 GridBagConstraints gbc = new GridBagConstraints(); | |
53 | |
54 setLayout(gridbag); | |
55 | |
56 gbc.gridwidth = GridBagConstraints.REMAINDER; | |
57 gbc.insets = new Insets(0,0,20,0); | |
58 gridbag.setConstraints(titleLabel,gbc); | |
59 add(titleLabel); | |
60 | |
61 gbc.fill = GridBagConstraints.NONE; | |
62 gbc.gridwidth = 1; | |
63 gbc.insets = new Insets(0,0,0,0); | |
64 gridbag.setConstraints(promptLabel,gbc); | |
65 add(promptLabel); | |
66 | |
67 gridbag.setConstraints(passwordField,gbc); | |
68 add(passwordField); | |
69 passwordField.addActionListener(this); | |
70 | |
71 // gbc.ipady = 10; | |
72 gbc.gridwidth = GridBagConstraints.REMAINDER; | |
73 gbc.fill = GridBagConstraints.BOTH; | |
74 gbc.insets = new Insets(0,20,0,0); | |
75 gbc.ipadx = 30; | |
76 gridbag.setConstraints(okButton,gbc); | |
77 add(okButton); | |
78 okButton.addActionListener(this); | |
79 } | |
80 | |
81 // | |
82 // Move keyboard focus to the default object, that is, the password | |
83 // text field. | |
84 // | |
85 | |
86 public void moveFocusToDefaultField() | |
87 { | |
88 passwordField.requestFocus(); | |
89 } | |
90 | |
91 // | |
92 // This method is called when a button is pressed or return is | |
93 // pressed in the password text field. | |
94 // | |
95 | |
96 public synchronized void actionPerformed(ActionEvent evt) | |
97 { | |
98 if (evt.getSource() == passwordField || evt.getSource() == okButton) { | |
99 passwordField.setEnabled(false); | |
100 notify(); | |
101 } | |
102 } | |
103 | |
104 // | |
105 // Wait for user entering a password, and return it as String. | |
106 // | |
107 | |
108 public synchronized String getPassword() throws Exception | |
109 { | |
110 try { | |
111 wait(); | |
112 } catch (InterruptedException e) { } | |
113 return passwordField.getText(); | |
114 } | |
115 | |
116 } |