Comment puis-je mettre en œuvre JDatePicker
Je suis en train de travailler avec la dernière version 1.3.4 de JDatePicker. Comment doit-il être mis en œuvre?
J'obtiens une erreur de compilateur: Le constructeur JDatePanelImpl(UtilDateModel) n'est pas défini. Le correctif proposé est: ajouter argument pour correspondre à JDatePanelImpl(DateModel, Propriétés). Ce qui doit être transmis en tant que propriétés de l'argument?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import java.util.Calendar;
import java.util.Date;
import org.jdatepicker.impl.*;
import org.jdatepicker.util.*;
import org.jdatepicker.*;
//import org.jdatepicker.graphics.*;
class date2 {
void GUI() {
JFrame f1 = new JFrame();
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.setSize(300, 300);
f1.setVisible(true);
Container conn = f1.getContentPane();
conn.setLayout(null);
UtilDateModel model = new UtilDateModel();
//model.setDate(20,04,2014);
JDatePanelImpl datePanel = new JDatePanelImpl(model);
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel);
f1.add(datePicker);
}
}
...Runner...
class testDate2 {
public void main(String[] args) {
date2 d1 = new date2();
d1.GUI();
}
}
Voir ce -->
Et voir Pourquoi est-il mal vu d'utiliser une valeur null mise en SWING? pour plus de détails
conn.setLayout(null);
<-- Ce mal, ne le faites pas. Évitez d'utiliser des null
mises en page, pixel parfait, les mises en page sont une illusion à l'intérieur moderne de conception de l'interface utilisateur. Il y a trop de facteurs qui affectent la taille des composants, aucune de laquelle vous pouvez contrôler. Swing a été conçu pour travailler avec les gestionnaires de disposition à la base, en supprimant ces entraînera pas la fin des questions et des problèmes que vous passerez plus de temps à essayer de rectifierEt voir Pourquoi est-il mal vu d'utiliser une valeur null mise en SWING? pour plus de détails
OriginalL'auteur Ashane Alvis | 2014-11-07
Vous devez vous connecter pour publier un commentaire.
En supposant que vous utilisez 1.3.4, puis le constructeur exigences ont changé...
À l'aide de cette
AbstractFormatter
...La meilleure façon est de créer un composant personnalisé s'étendant à partir d'un Composite, redéfinir sa méthode paintComponent et dessiner l'image. Une recherche, il y a beaucoup d'exemples
Il y a aussi un
JDateComponentFactory
qui créeJDatePickerImpl
etJDatePanelImpl
les objets, avec les modèles et i18n propriétés déjà définies. Je suis un peu moins clair que leJDatePanelImpl
constructeur est destinée à être appelée directement par les clients à ce point, car il n'y a pas beaucoup de conseils dans les docs sur la façon de construire les i18nProperties
qu'il utilise.Ouais, c'est toujours un tas de piratage, ce qui ne devrait pas être nécessaire. Je ne vois pas de toute façon à définir le modèle pour un
JDatePanel
sans moulage et vous ne devriez pas avoir à le jeter parce que c'est le point de l'usine et ... je vais utiliserJXDatePicker
à la place 😛Vous le savez, à 16 ans je n'ai jamais "a" pour y inclure
serialVersionUID
, mais encore une fois, je n'utilise pas Eclipse, je ne suis pas un défenseur de la Sérialisation, il existe de meilleures solutions pour la plupart des problèmes, mais c'est juste moiOriginalL'auteur MadProgrammer
Suffit d'utiliser les propriétés dans le constructeur de
JDatePanelImpl
Sont-ce les propriétés de java.util?
OriginalL'auteur Ankur Saxena