从JDateChooser获取值作为文件名

时间:2017-03-02 10:40:17

标签: java swing jdatechooser jcalendar

我试图从JDateChooser获取价值并将其用作文件名 我创建了一个带路径的文件,我可以在上面写,但唯一的问题是我无法将其名称更改为变量(来自JDateChooser的数据)

以下是代码的一部分:

JButton btnSave = new JButton("Save"); 
    btnSave.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            String text = textField.getText();
            JDateChooser day = new JDateChooser();
            try{
                    File remindFile = new File("\\path", day + ".txt");
                    remindFile.createNewFile();
                    BufferedWriter writer = new BufferedWriter(new FileWriter(remindFile));
                    writer.write(text);
                    writer.close();
                    }
                    catch(Exception k)
                    { System.out.println("Oops");}

            textField.setText(null);

        }
    });
    btnSave.setFont(new Font("Tahoma", Font.PLAIN, 13));
    btnSave.setBounds(401, 215, 108, 30);
    panel.add(btnSave);

在结果中创建的文件名称为:

com.toedter.calendar.JDateChooser
[JDateChooser,0,0,0x0,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]

我该如何解决?

4 个答案:

答案 0 :(得分:2)

您实际上是在追加JDateChooser个对象本身,而不是其所选String的{​​{1}}个表示形式:

Date

尝试:

File remindFile = new File("C:\\Users\\student_ib\\eclipse\\d", day + ".txt");

答案 1 :(得分:0)

您必须致电day.getDate().getDay()以获取JDateChooser不使用day本身的日期。

答案 2 :(得分:0)

查看JDateChooser的文档。

您需要先通过.getDate().getCalendar()获取日期值,然后使用类似SimpleDateFormat的内容来格式化日期。

答案 3 :(得分:0)

谢谢大家的回答。使用你的建议我用这种方式解决了它:

            int day = calendar_1.getDayChooser().getDay();
            int month = calendar_1.getMonthChooser().getMonth();
            int year = calendar_1.getYearChooser().getYear();
            String name = "" + day + month + year;
            File remindFile = new File(name + ".txt");