Codebeispiel für JDatePicker

Hein_nieH

Bekanntes Mitglied
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
 
Da hast du eines (Achtung Java 8):
Java:
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);
  }
}
 
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
 
Wer in Zukunft auf den Thread stößt, wäre über den angepassten Code sicher dankbar. Ein "funktioniert!!" hilft niemandem weiter.
 
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:

Java:
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: 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?
 
Da hast du eines (Achtung Java 8):
Java:
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);
  }
}
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.
 
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 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.
 
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.
 

Zurück
Oben