当前位置:  技术问答>java相关

急,急....怎样设定TextField的掩码形式?

    来源: 互联网  发布时间:2015-01-12

    本文导语:  高手们,请赐教:如何定义TextField的掩码形式? | 给一个Date  public class PaneJTextDate extends PlainDocument {     public static String initString="####-##-##";     private static int sep1=4, sep2=7;     private...

高手们,请赐教:如何定义TextField的掩码形式?

|
给一个Date 

public class PaneJTextDate extends PlainDocument {
    public static String initString="####-##-##";
    private static int sep1=4, sep2=7;
    private static int month1=5,month2=6;
    private static int day1=8,day2=9;

    private JTextComponent textComponent;
    private int newOffset;

    public PaneJTextDate(JTextComponent tc) {
        textComponent=tc;
        try {
            insertString(0,initString,null);
        } catch (Exception ex) {}
    }

    public void insertString(int offset,String s, AttributeSet attributeSet ) throws BadLocationException {
        int iTemp;
        if(s.equals(initString) ) {
            super.insertString(offset,s , attributeSet);
        } else {
            if(s.length()>1) {
                if(s.length()!=10) return;
            } else {
                try {
                    iTemp=Integer.parseInt(s);
                    if(offset==month1 || offset==month1-1)
                        if(iTemp>1) return;
                    if(offset==day1 || offset==day1-1)
                        if(iTemp>3) return;

                } catch (Exception ex) {
                    return;
                }
            }

            newOffset=offset;
            if(atSeparator(offset)) {
                newOffset++;
                textComponent.setCaretPosition(newOffset);
            }
            super.remove(newOffset,s.length());
            super.insertString(newOffset,s,attributeSet);
        } // end if ( !=initString)
    } // end method insertString()

    public void remove(int offset,int length) throws BadLocationException {
        if(atSeparator(offset)) {
            super.remove(offset-1,1);
            super.insertString(offset-1,"0",null);
            textComponent.setCaretPosition(offset-1);
        } else {
            super.remove(offset,1);
            super.insertString(offset,"0",null);
            textComponent.setCaretPosition(offset);
        }
    }//end method remove()

    private boolean atSeparator(int offset) {
        return offset==sep1 || offset==sep2;
    }

} // end class PaneJTextDate()

|
JTextField不能设定掩码,
请使用JClass组件,可以轻松完成掩码的设置

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问我编译c++文件的时候需要设定系统变量,设定是在root用户的.bash_profile文件中写的,怎么使该设定生效?
  • 关于UNIX下的环境变量的设定
  • 在启动时设定网络参数,急!在线等!
  • 我有个问题 关于linux 网卡设定
  • 请问如何设定tomcat的session的失效时间
  • 请教:关于named的设定文档的问题
  • 嵌入式Linux 如何设定 telnet超时
  • 求助!ccmake中的CMAKE_BUILD_TYPE不能设定!
  • 请教各位:apach/conf/httpd.conf修改设定值的问题.
  • 怎样设定bsh的环境变量?(快来拿分呀)
  • 100分求救!!!如何设定网卡IRQ及i/地址?
  • 如何设定队列的长度、接受个数 ????
  • 在程序中如何设定可用^C或^D中断进程 ??????
  • cvs用户的权限设定
  • 如何设定ResultSet对象可上下fetch?
  • vi编辑中如何设定tab的空格数??
  • 如何设定LINUX下VSFTPD服务匿名登陆的默认目录
  • udp套接字能否设定成非阻塞模式?
  • red hat linux工作站如何设定屏幕刷新率?
  • 用iptables设定禁止ping 后,重启电脑后又会生效,


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3