OSDN Git Service

2005-02-15 Mark Wielaard <mark@klomp.org>
[pf3gnuchains/gcc-fork.git] / libjava / javax / swing / JPasswordField.java
1 /* JPasswordField.java --
2    Copyright (C) 2002, 2004 Free Software Foundation, Inc.
3
4 This file is part of GNU Classpath.
5
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING.  If not, write to the
18 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 02111-1307 USA.
20
21 Linking this library statically or dynamically with other modules is
22 making a combined work based on this library.  Thus, the terms and
23 conditions of the GNU General Public License cover the whole
24 combination.
25
26 As a special exception, the copyright holders of this library give you
27 permission to link this library with independent modules to produce an
28 executable, regardless of the license terms of these independent
29 modules, and to copy and distribute the resulting executable under
30 terms of your choice, provided that you also meet, for each linked
31 independent module, the terms and conditions of the license of that
32 module.  An independent module is a module which is not derived from
33 or based on this library.  If you modify this library, you may extend
34 this exception to your version of the library, but you are not
35 obligated to do so.  If you do not wish to do so, delete this
36 exception statement from your version. */
37
38
39 package javax.swing;
40
41 import java.io.IOException;
42 import java.io.ObjectOutputStream;
43
44 import javax.accessibility.AccessibleContext;
45 import javax.accessibility.AccessibleRole;
46 import javax.swing.text.BadLocationException;
47 import javax.swing.text.Document;
48
49 /**
50  * class JPasswordField
51  * 
52  * @author Andrew Selkirk
53  * @version 1.0
54  */
55 public class JPasswordField extends JTextField
56 {
57   /**
58    * AccessibleJPasswordField
59    */
60   protected class AccessibleJPasswordField extends AccessibleJTextField
61   {
62     private static final long serialVersionUID = -8477039424200681086L;
63
64     /**
65      * Constructor AccessibleJPasswordField
66      */
67     protected AccessibleJPasswordField()
68     {
69     }
70
71     /**
72      * getAccessibleRole
73      * 
74      * @return AccessibleRole
75      */
76     public AccessibleRole getAccessibleRole()
77     {
78       return AccessibleRole.PASSWORD_TEXT;
79     }
80   }
81
82   /**
83    * echoChar.  Default is 0.
84    */
85   private char echoChar = 0;
86
87   /**
88    * Creates a <code>JPasswordField</code> object.
89    */
90   public JPasswordField()
91   {
92     this(null, null, 0);
93   }
94
95   /**
96    * Creates a <code>JPasswordField</code> object.
97    * 
98    * @param text the initial text
99    */
100   public JPasswordField(String text)
101   {
102     this(null, text, 0);
103   }
104
105   /**
106    * Creates a <code>JPasswordField</code> object.
107    * 
108    * @param columns the number of columns
109    */
110   public JPasswordField(int columns)
111   {
112     this(null, null, columns);
113   }
114
115   /**
116    * Creates a <code>JPasswordField</code> object.
117    * 
118    * @param text the initial text
119    * @param columns the number of columns
120    */
121   public JPasswordField(String text, int columns)
122   {
123     this(null, text, columns);
124   }
125
126   /**
127    * Creates a <code>JPasswordField</code> object.
128    * 
129    * @param document the document to use
130    * @param text the initial text
131    * @param columns the number of columns
132    */
133   public JPasswordField(Document document, String text, int columns)
134   {
135     super(document, text, columns);
136   }
137
138   /**
139    * writeObject
140    * 
141    * @param stream the stream to write to
142    * 
143    * @exception IOException if an error occurs
144    */
145   private void writeObject(ObjectOutputStream stream) throws IOException
146   {
147     // TODO: Implement me.
148   }
149
150   /**
151    * Returns the <code>UIClassID</code>
152    * 
153    * @return the string "PasswordFieldUI"
154    */
155   public String getUIClassID()
156   {
157     return "PasswordFieldUI";
158   }
159
160   /**
161    * getEchoChar
162    * 
163    * @return the echo char
164    */
165   public char getEchoChar()
166   {
167     return echoChar;
168   }
169
170   /**
171    * setEchoChar
172    * 
173    * @param echo the echo char
174    */
175   public void setEchoChar(char echo)
176   {
177     this.echoChar = echo;
178   }
179
180   /**
181    * echoCharIsSet
182    * 
183    * @return <code>true</code> if the echo char is set,
184    * <code>false</code> otherwise.
185    */
186   public boolean echoCharIsSet()
187   {
188     return echoChar == 0;
189   }
190
191   /**
192    * Copies the selected text into the clipboard. This operation is not
193    * allowed in a password input field.
194    */
195   public void copy()
196   {
197     UIManager.getLookAndFeel().provideErrorFeedback(this);
198   }
199
200   /**
201    * Cuts the selected text and puts it into the clipboard. This operation
202    * is not allowed in a password input field.
203    */
204   public void cut()
205   {
206     UIManager.getLookAndFeel().provideErrorFeedback(this);
207   }
208
209   /**
210    * getText
211    * 
212    * @return String
213    * 
214    * @deprecated
215    */
216   public String getText()
217   {
218     return null; // TODO
219   }
220
221   /**
222    * getText
223    * 
224    * @param offset TODO
225    * @param length TODO
226    * 
227    * @return String
228    * 
229    * @exception BadLocationException TODO
230    *
231    * @deprecated
232    */
233   public String getText(int offset, int length) throws BadLocationException
234   {
235     return null; // TODO
236   }
237
238   /**
239    * getPassword
240    * 
241    * @return char[]
242    */
243   public char[] getPassword()
244   {
245     return new char[0]; // TODO
246   }
247
248   /**
249    * paramString
250    * 
251    * @return String
252    */
253   protected String paramString()
254   {
255     return null; // TODO
256   }
257
258   /**
259    * getAccessibleContext
260    * 
261    * @return the <code>AccessibleContext</code> object
262    */
263   public AccessibleContext getAccessibleContext()
264   {
265     if (accessibleContext == null)
266       accessibleContext = new AccessibleJPasswordField();
267
268     return accessibleContext;
269   }
270 }