首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MaskFormatter的JFormattedTextField

使用MaskFormatter的JFormattedTextField
EN

Stack Overflow用户
提问于 2010-11-23 10:36:46
回答 3查看 33.7K关注 0票数 12

我有一个JFormattedTextField,用来限制日期和时间的输入。我想使用MaskFormatter来显示占位符字符。当文本字段已经在使用MaskFormatter时,有没有办法在JFormattedTextField之上使用SimpleDateFormat

谢谢,杰夫

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-23 10:53:49

代码语言:javascript
复制
public class MaskFormatterTest {
    private static final DateFormat df = new SimpleDateFormat("yyyy/mm/dd");


    public static void main(String[] args) {
        JFrame frame = new JFrame("");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = new JPanel();

        JFormattedTextField tf = new JFormattedTextField(df);
        tf.setColumns(20);
        panel.add(tf);
        try {
            MaskFormatter dateMask = new MaskFormatter("####/##/##");
            dateMask.install(tf);
        } catch (ParseException ex) {
            Logger.getLogger(MaskFormatterTest.class.getName()).log(Level.SEVERE, null, ex);
        }

        frame.add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}

除非我误解了问题。

票数 31
EN

Stack Overflow用户

发布于 2010-11-23 10:42:20

或者,考虑一个InputVerifier,正如InputVerificationDemo和这个更复杂的example中所建议的那样。

票数 2
EN

Stack Overflow用户

发布于 2010-11-23 10:44:49

代码语言:javascript
复制
JFormattedTextField tft3 = 
    new JFormattedTextField(new SimpleDateFormat("yyyy-MM-dd"));
    tft3.setValue(new Date());

    Date date = (Date) tft3.getValue();
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4252257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档