(华为)以下代码片段将创建一个仅保存大写字符的字段。

通过对模型进行扩展和改变所提供的默认模型,可以很容易创建自定义字段。例如,以下代码片段将创建一个仅保存大写字符的字段。即使文本从剪贴板中粘贴过来或者通过编程方式而更改,此代码片段也是有效的。



 public class UpperCaseField extends JTextField {
 
     public UpperCaseField(int cols) {
         super(cols);
     }
 
     protected Document createDefaultModel() {
         return new UpperCaseDocument();
     }
 
     static class UpperCaseDocument extends PlainDocument {
 
         public void insertString(int offs, String str, AttributeSet a) 
             throws BadLocationException {
 
             if (str == null) {
                 return;
             }
             char[] upper = str.toCharArray();
             for (int i = 0; i < upper.length; i++) {
                 upper[i] = Character.toUpperCase(upper[i]);
             }
             super.insertString(offs, new String(upper), a);
         }
     }
 }
posted @ 2013-08-10 15:28  婷婷玉立的成长之家  阅读(202)  评论(0编辑  收藏  举报