# Codebeispiel für JDatePicker



## Hein_nieH (28. Mrz 2015)

Hallo Fans der Bits und Bytes,

ich würde gerne mal den JDatePicker ausprobieren.
Leider finde ich bei Google kein nachvollziebares Quelltextbeispiel.
:noe:
Hat jemand ein paar Zeilcen?:rtfm:


Gruss Hein_nieH


----------



## Flown (28. Mrz 2015)

Da hast du eines (Achtung Java 8):

```
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import org.jdatepicker.JDateComponentFactory;
import org.jdatepicker.JDatePanel;
import org.jdatepicker.JDatePicker;

public class JDatePickerTest {

  public static void main(String... args) {
    SwingUtilities.invokeLater(JDatePickerTest::new);
  }

  public JDatePickerTest() {
    JFrame frame = new JFrame("JDatePicker");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationByPlatform(true);

    JPanel mainPanel = new JPanel();

    JDateComponentFactory factory = new JDateComponentFactory();

    JDatePanel datePanel = factory.createJDatePanel();
    datePanel.addActionListener(e -> {
      System.out.println(datePanel.getModel().getValue());
    });

    JDatePicker datePicker = factory.createJDatePicker();
    datePicker.addActionListener(e -> {
      System.out.println(datePicker.getModel().getValue());
    });

    mainPanel.add((JComponent) datePanel);
    mainPanel.add((JComponent) datePicker);

    frame.add(mainPanel);

    frame.pack();
    frame.setVisible(true);
  }
}
```


----------



## Hein_nieH (29. Mrz 2015)

Hallo Flown,

danke für das Codebeispiel.:applaus:
Das hilft mir schon mal ein ganzes Stück weiter.

Jetz muss ich es "nur" noch für Java 7 anpassen.
Gruss Hein_nieH


----------



## Hein_nieH (30. Mrz 2015)

Hallo Flown,

... das Codebeispiel funktioniert nun auch in Java 7 ganz prima.
Gruss Hein_nieH


----------



## redJava99 (30. Mrz 2015)

Wer in Zukunft auf den Thread stößt, wäre über den angepassten Code sicher dankbar. Ein "funktioniert!!" hilft niemandem weiter.


----------



## Flown (30. Mrz 2015)

Ich würde jeden nur raten sich Neuerungen anzusehen und diese auch anzunehmen. Mittlerweile ist Java 8 schon lange am Markt und schon mit Update 40(!) zu haben (außerdem läuft der öffentliche Support von Java 7 mit Ende April aus).

Aber für alle die es noch in Java 7 haben möchten:


```
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import org.jdatepicker.JDateComponentFactory;
import org.jdatepicker.JDatePanel;
import org.jdatepicker.JDatePicker;

public class JDatePickerTest {

  public static void main(String... args) {
    SwingUtilities.invokeLater(new Runnable() {

      @Override
      public void run() {
        new JDatePickerTest();
      }
    });
  }

  public JDatePickerTest() {
    JFrame frame = new JFrame("JDatePicker");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationByPlatform(true);

    JPanel mainPanel = new JPanel();

    JDateComponentFactory factory = new JDateComponentFactory();

    JDatePanel datePanel = factory.createJDatePanel();
    datePanel.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        System.out.println(datePanel.getModel().getValue());
      }
    });

    JDatePicker datePicker = factory.createJDatePicker();
    datePicker.addActionListener(new ActionListener() {

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

    mainPanel.add((JComponent) datePanel);
    mainPanel.add((JComponent) datePicker);

    frame.add(mainPanel);

    frame.pack();
    frame.setVisible(true);
  }
}
```


----------



## comp_math (13. Jun 2022)

wie kann ich (Version 8) die Differenz zwischen den ausgewählten Daten berechnen und in ein JTextField eingeben?


----------



## KonradN (13. Jun 2022)

@comp_math: Bitte erzeuge doch Deinen eigenen Thread - so ein 8 Jahre alter Thread ist bestimmt unpassend zumal es hier um ein leicht anderes Thema ging. Daher beschreibe Dein Problem doch bitte in einem eigenen Thread und teile uns etwas genauer mit, wo das Problem ist:
Du hast die Daten auslesen können? Ist das Problem also nur die Berechnung der Differenz? Oder geht es um die Ausgabe?


----------



## comp_math (1. Jul 2022)

Flown hat gesagt.:


> Da hast du eines (Achtung Java 8):
> 
> ```
> import javax.swing.JComponent;
> ...


Dieses Beispiel hat mir doch geholfen. Aber ich brauche noch etwas Hilfe. Wie kann ich JDatePicker Object modifieren, sodass die vergangene Daten nicht ausgewählt werden können.


----------



## volcanos (5. Jul 2022)

Das Beispiel funktioniert nicht, weil es beim beim JDatePikcer.org 2.0.3 keine DateComponentFactory´gibt, somit keinen
import org.jdatepicker.JDateComponentFactory und somit ist die Zeile 22 fehlerhaft !!!


----------



## KonradN (5. Jul 2022)

volcanos hat gesagt.:


> Das Beispiel funktioniert nicht, weil es beim beim JDatePikcer.org 2.0.3 keine DateComponentFactory´gibt, somit keinen
> import org.jdatepicker.JDateComponentFactory und somit ist die Zeile 22 fehlerhaft !!!


Das ist halt das Problem, wenn man auf 7-8 Jahre alte Dinge eingeht.

Hier ist es aber relativ einfach - Wenn man statt der 2er Version die 1.3.x Version nutzt, dann sollte auch das Beispiel wieder gehen.


----------



## volcanos (5. Jul 2022)

Ja, das ist logisch. Dachte nur, dass man den JDatePickerTest.java auf die 2.0.3er Version zurechtbiegen kann.

Aber trotzdem Danke für die Information.


----------

