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 "";
}
}