我用一个JFormattedTextField读取用户输入的日期数据,并通过如下方法限制用户只能输入年月日txtDatum = new JFormattedTextField(DateFormat.getDateInstance(DateFormat.SHORT));现在我要把这个数据存入一个日期类中,我试了(Date)txtDatum.getValue(),却发现Date是非常详细的那种,甚至包括时间。我只想存取年月日,其他不想让用户输入也不想存储,该如何做呢?

解决方案 »

  1.   

    同意取子串,也可以试试applyPattern("yyyy-MM-dd")
      

  2.   

    package ui;import java.awt.Container;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;import javax.swing.JButton;
    import javax.swing.JFormattedTextField;
    import javax.swing.JFrame;import framework.Console;public class Test extends JFrame {
    private SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
    private JFormattedTextField txtDatum = new JFormattedTextField(sf);

    private JButton button= new JButton("提交"); Test() {

    System.out.println(DateFormat
    .getDateInstance(DateFormat.SHORT));
    txtDatum.setColumns(20);
    button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub
    //String name=((JButton)arg0.getSource()).getText();
    //System.out.println("按钮:"+name);
    String content=txtDatum.getText();
    System.out.println("内容:"+content);//这里就是所要的字符串
    }

    });
    Container c=getContentPane();
    c.setLayout(new FlowLayout());
    c.add(txtDatum);
    c.add(button);
    } /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Console.run(new Test(), 800, 600);
    }}