GNU Classpath (0.17) | ||
Frames | No Frames |
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., 51 Franklin Street, Fifth Floor, Boston, MA 19: 02110-1301 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: }
GNU Classpath (0.17) |