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 }