web-dev-qa-db-fra.com

Quels sont les bons Java widgets GUI Swing de sélecteur de date?

Quels sont les bons Java Composants de sélection de date Swing? Jusqu'à présent, je n'ai vraiment trouvé que ces 2:

  • JCalendar - celui-ci est assez bon car il utilise l'apparence sous-jacente.
  • JXMonthView dans le projet SwingX - pas aussi bon qu'il utilise son propre aspect

Ces deux aspects semblent un peu maladroits par rapport à certains que j'ai vus sur les pages Web. Par exemple, il peut être agréable de voir plusieurs mois en même temps. Quelqu'un connaît-il d'autres bons widgets?

23
oxbow_lakes

Récemment, j'ai trouvé et utilisé le Microba DatePicker ( http://microba.sourceforge.net/ ) pour un projet personnel impliquant des interfaces graphiques Swing, et j'ai réellement aimé la façon dont ce contrôle est implémenté. En outre, la licence est BSD, vous pourrez donc personnaliser le contrôle et l'utiliser à des fins commerciales si vous en avez besoin.

15
Abel Morelos

J'ai essayé la plupart des sélecteurs de dates.
Je suggère LGoodDatePicker .

https://github.com/LGoodDatePicker/LGoodDatePicker

Divulgation juste: je suis le développeur principal.

Voici une liste de fonctionnalités générales (adaptée de Github):

  • Internationalisation automatique.
  • Utilise le (nouveau) standard Java 8. Également appelé "Java.time" ou "JSR-310".
  • Validation automatique des dates.
  • Les polices et les couleurs peuvent être modifiées.
  • Politiques de mise en évidence et politiques de veto facultatives.
  • Code source relativement compact (3 classes principales).
  • La création d'un DatePicker ne nécessite qu'une seule ligne de code.
  • Programme de démonstration et exemples de code inclus.
  • Bons Javadocs.
  • Licence open source.

Captures d'écran ci-dessous:

LGoodDatePicker Screenshots

2
BlakeTNC

Je suis souvent en retard mais le meilleur que j'ai vu est: JDatePicker

(Ce qui m'a surpris: la semaine commence avec le dimanche - comme beaucoup de calendriers et d'ailleurs le dimanche est le jour 0 dans Java - mais vous pouvez éditer la source et recompiler pour qu'elle commence avec lundi à la place; -))

2
fencingCode

Il y a aussi NachoCalendar .

1
tuler

jDateChooser fourni avec jCalendar est le meilleur composant pour la date: Voici la façon d'obtenir la date du sélecteur de date:

//dat is name given to datepicker component
int day=dat.getJCalendar().getDayChooser().getDay();
int month=dat.getJCalendar().getMonthChooser().getMonth();
int year=dat.getJCalendar().getYearChooser().getYear();
String dateNow=year+"/"+month+"/"+day;
System.out.println(dateNow);

//***************************************************
//For setting date of date picker:
dat.setDateFormatString("dd-MM-yyyy");
Calendar currentDate = Calendar.getInstance();
dat.setDate(currentDate.getTime());
0
Ajinkya Jagtap