Search code examples
javaswingjdatechooser

Set jdatepickerimpl blank once date is selected


I am trying to write a piece of code on reset button.

What I am trying to do is:

  1. First I select date and
  2. then I press reset button
  3. On click of reset button, the date field should get blank.

I searched a lot on net most of example saying to use setDate(new Date()). This is setting current date but not blank date.

I also used setDate(new Date("")), it has no effect.

Please help me

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

import net.sourceforge.jdatepicker.impl.JDatePanelImpl;
import net.sourceforge.jdatepicker.impl.JDatePickerImpl;
import net.sourceforge.jdatepicker.impl.UtilDateModel;

public class DateExample extends JFrame {

UtilDateModel dateModel1 = new UtilDateModel();
JDatePanelImpl datePanel1 = new JDatePanelImpl(dateModel1);
JDatePickerImpl startingDate = new JDatePickerImpl(datePanel1);
JButton resetButton = new JButton("Reset");

public DateExample() {
    setLayout(null);
    setSize(new Dimension(300, 200));
    startingDate.setBounds(10, 10, 120, 22);
    resetButton.setBounds(150, 10, 80, 22);

    add(startingDate);
    add(resetButton);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);

    resetButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            // once i select date from date picker, and then
            // i want to add some code here, so, when i click
            // on reset button date field will become blank

        }
    });
}

public static void main(String[] args) {
    new DateExample();

}
}

Solution

  • Reset the model...

    resetButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            datePanel1.getModel().setValue(null);
        }
    });
    

    You could also supply a default Date value of your own