KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > db > util > ValidableTextField


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.db.util;
21
22 import javax.swing.JTextField JavaDoc;
23 import java.awt.Toolkit JavaDoc;
24
25 public class ValidableTextField extends JTextField JavaDoc
26 {
27     private TextFieldValidator validator = null;
28
29     static final long serialVersionUID =3686208002682293243L;
30     public ValidableTextField(TextFieldValidator val)
31     {
32         super();
33         setValidator(val);
34     }
35
36     public TextFieldValidator getValidator()
37     {
38         return validator;
39     }
40
41     public void setValidator(TextFieldValidator val)
42     {
43         validator = val;
44     }
45
46     protected void reflectInvalidValue(String JavaDoc oldval, String JavaDoc newval)
47     {
48         setText(oldval);
49         Toolkit.getDefaultToolkit().beep();
50     }
51
52     public void replaceSelection(String JavaDoc s)
53     {
54         String JavaDoc oldText = getText();
55         super.replaceSelection(s);
56         if (validator != null && !validator.accepts(getText())) {
57             reflectInvalidValue(oldText, s);
58         }
59     }
60 }
61 /*
62  * <<Log>>
63  * 4 Gandalf 1.3 11/27/99 Patrik Knakal
64  * 3 Gandalf 1.2 10/23/99 Ian Formanek NO SEMANTIC CHANGE - Sun
65  * Microsystems Copyright in File Comment
66  * 2 Gandalf 1.1 5/21/99 Slavek Psenicka new version
67  * 1 Gandalf 1.0 5/14/99 Slavek Psenicka
68  * $
69  */

70
Popular Tags