频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
Java只允许输入大写字母的文本框
2012-07-12 09:38:17      个评论      
收藏   我要投稿
[java]
package com.han; 
 
import javax.swing.JTextField; 
import javax.swing.text.AttributeSet; 
import javax.swing.text.BadLocationException; 
import javax.swing.text.Document; 
import javax.swing.text.PlainDocument; 
 
/**
 * Customized fields can easily be created by extending the model 
 * and changing the default model provided. For example, 
 * the following piece of code will create a field that holds only 
 * upper case characters. It will work even if text is pasted into from 
 * the clipboard or it is altered via programmatic changes.
 * @author HAN
 *
 */ 
public class UpperCaseField extends JTextField { 
      
    /**
     * 
     */ 
    private static final long serialVersionUID = 6854878572763032459L; 
 
    public UpperCaseField(int cols) { 
        // super() 可以被自动调用,但是有参构造方法并不能被自动调用,只能依赖  
        // super关键字显示地调用父类的构造方法  
        super(cols); 
    } 
 
    protected Document createDefaultModel() { 
        return new UpperCaseDocument(); 
    } 
 
    static class UpperCaseDocument extends PlainDocument { 
 
        /**
         * 
         */ 
        private static final long serialVersionUID = -4170536906715361215L; 
 
        public void insertString(int offs, String str, AttributeSet a) 
            throws BadLocationException { 
 
            if (str == null) { 
                return;     www.2cto.com
            } 
            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); 
        } 
    } 

作者:Gaowen_HAN
点击复制链接 与好友分享!回本站首页
相关TAG标签 大写字母 文本
上一篇:Java使用JToggleButton
下一篇:Java只允许输入数字的文本框
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站