Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java日期选择器获取值_Java - Fatal编程技术网

Java日期选择器获取值

Java日期选择器获取值,java,Java,我有个问题。我无法得到这个值。请帮帮我。如何使用datePicker获取日期。或者我必须如何获取字符串变量 UtilDateModel model = new UtilDateModel(); Properties p = new Properties(); p.put("text.today", "Today"); p.put("text.month", "Month"); p.put("text.year", "Year"); JDatePanelImpl datePanel = new

我有个问题。我无法得到这个值。请帮帮我。如何使用
datePicker
获取日期。或者我必须如何获取字符串变量

UtilDateModel model = new UtilDateModel();
Properties p = new Properties();
p.put("text.today", "Today");
p.put("text.month", "Month");
p.put("text.year", "Year");

JDatePanelImpl datePanel = new JDatePanelImpl(model,p);
datePanel.setPreferredSize(new Dimension(300, 200));
datePanel.setBounds(900, 30, 300, 200);
topRightPanel.add(datePanel);

JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, new Formated());
topRightPanel.add(datePicker);

System.out.println(datePicker.getJFormattedTextField().getText());

这个例子可能对您有所帮助,您可以将jcalendar-1.4.jar添加到您的项目库文件夹中, 通过使用SimpleDataFormat命令,您可以使用任何日期格式

  JDateChooser chooser = new JDateChooser();// 
  [JDateChooser look like this][1]

  SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd");
  Date todayDate = new Date();//local date time'

  String choosedate = sdft.format(chooser.getDate());//select date
  String today = sdft.format(todayDate);//local date


检查这个类,我实现了,我想这肯定会对您有所帮助,

这个
JDatePickerImpl
来自哪里?我确信格式化的是特定于您的项目的,因为它有一个输入错误。@TamasRev我使用JDatePickerImpl,因为我想打印选定的日期,我不知道该怎么做。类格式化,执行日期格式,我在关于JDatePanelImpl的网站上看到了这个类@Vitalii您评论中的链接从字面上显示了如何从JDatePickerImpl@Vitalii“什么都没发生”是什么意思?@lucasvw它的意思是,我可以打印当前日期,但不能打印我选择的日期。这是个问题。如果我使用Date selectedDates=(Date)datePicker.getModel().getValue();selectedDates为空我如何在datePanel中使用它?我可以打印当前日期而无需选择。我理解你,但我不明白这对我有什么帮助,因为我可以打印当前日期,而没有必要做新的日历。我无法打印我在datePanel中选择的日期。或者我不能在数据采集器中使用带有日期的字符串变量!我试过了,但什么也没发生。。。。我不知道我的错误在哪里。字符串selectDate=datePicker.getJFormattedTextField().getText();System.out.println(选择日期);我可以不用扣子吗?我使用datePicker或data Panel制作鼠标侦听器,但它不能正常工作
/*  * To change this license header, choose License Headers in Project Properties.  * To change this template file, choose Tools | Templates 
* and open the template in the editor.  */ package javaapplication11;

import static com.sun.java.accessibility.util.AWTEventMonitor.addMouseListener; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Properties; import javax.swing.JButton; import javax.swing.JFormattedTextField.AbstractFormatter; import javax.swing.JFrame; import javax.swing.JPanel; import org.jdatepicker.JDatePanel; import org.jdatepicker.impl.JDatePanelImpl; import org.jdatepicker.impl.JDatePickerImpl; import org.jdatepicker.impl.UtilDateModel;

/**  *  * @author HPkavin  */ public class DateLabelFormatter extends AbstractFormatter {

    /**
     * @param args the command line arguments
     */
    private String datePattern = "yyyy-MM-dd";
    private SimpleDateFormat dateFormatter = new SimpleDateFormat(datePattern);
    private JDatePickerImpl datePicker;

    public static void main(String[] args) {

        JFrame a = new JFrame();
        a.setSize(500, 500);
        JPanel topRightPanel = new JPanel();
        a.add(topRightPanel);
        JButton GetDateButton = new JButton("Get date");
        topRightPanel.add(GetDateButton);
        UtilDateModel model = new UtilDateModel();
        Properties p = new Properties();
        p.put("text.today", "Today");
        p.put("text.month", "Month");
        p.put("text.year", "Year");

        JDatePanelImpl datePanel = new JDatePanelImpl(model, p);
        datePanel.setPreferredSize(new Dimension(300, 200));
        datePanel.setBounds(900, 30, 300, 200);
        topRightPanel.add(datePanel);

        JDatePickerImpl datePicker = new JDatePickerImpl(datePanel, new DateLabelFormatter());
        topRightPanel.add(datePicker);
        a.setVisible(true);
        datePicker.getJFormattedTextField().setText("2017-06-2");//you can use current date also (answer 1 )
        System.out.println(datePicker.getJFormattedTextField().getText());

        GetDateButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println(datePicker.getJFormattedTextField().getText());
            }
        });

    }

    @Override
    public Object stringToValue(String text) throws ParseException {
        return dateFormatter.parseObject(text);
    }

    @Override
    public String valueToString(Object value) throws ParseException {
        if (value != null) {
            Calendar cal = (Calendar) value;
            return dateFormatter.format(cal.getTime());
        }

        return "";
    }

}