Sélecteur de dates multiples

Soyez le premier à donner votre avis sur cette source.

Vue 6 880 fois - Téléchargée 774 fois

Description

Ce composant permet de sélectionner plusieurs dates à la fois sur un même sélecteur en forme de calendrier.

Source / Exemple :


package demo;
/*

  • Demo.java
  • This demo shows you how to use a MultiDateChooser
  • and a MultiDateButton.
  • It displays a MultiDateChooser on the frame.
  • The Button "Show selected Dates" displays the selections made
  • on that date chooser.
  • The Button "Datechooser Dialog" is a MultiDateButton.
  • It displays a Dialog with another MultiDateChooser.
  • The selections made there are displayed immediately in an OptionPane
  • that pops up via the "DateSelectionListener" which is implemented
  • directly by this "Demo" class.
  • The Button "Clear All" clears the selections in both "MultiDateChooser"s
  • (the one in the frame and the one in the dialog).
  • /
import chooser.*; import event.*; import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; import javax.swing.*; public class Demo extends JFrame implements ActionListener, DateSelectionListener { private JButton btShow, btClearAll; private MultiDateButton btChooserDialog; private JPanel mainpanel; private JToolBar toolbar; private MultiDateChooser chooser; private SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy"); public Demo() { super("Demo"); setSize(400, 300); setLocationRelativeTo(null); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); mainpanel = new JPanel(); toolbar = new JToolBar(); btShow = new JButton("Show selected Dates"); btChooserDialog = new MultiDateButton("Datechooser Dialog"); btClearAll = new JButton("Clear All"); getContentPane().add(mainpanel, BorderLayout.CENTER); btShow.addActionListener(this); toolbar.add(btShow); toolbar.add(btChooserDialog); btClearAll.addActionListener(this); toolbar.add(btClearAll); getContentPane().add(toolbar, BorderLayout.PAGE_START); chooser = new MultiDateChooser(); mainpanel.add(chooser); //do some selections programmatically: Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -2); chooser.add(cal.getTime()); cal.add(Calendar.DATE, 5); chooser.add(cal.getTime()); //listen to selection changes in chooser dialog: btChooserDialog.addSelectionListener(this); } private void showSelectedDates(MultiDateChooser source) { Set<Date> dates = source.getSelectedDates(); String str = ""; for (Date date : dates) { str += df.format(date) + "\n"; } str += "\n"; JOptionPane.showMessageDialog(this, str); } public void actionPerformed(final ActionEvent e) { Object source = e.getSource(); if (source == btShow) { showSelectedDates(chooser); } else if (source == btClearAll) { chooser.clearSelections(); btChooserDialog.clearSelections(); } } public void dateSelectionChanged(DateSelectionEvent e) { showSelectedDates((MultiDateChooser) e.getSource()); } public static void main(final String[] args) { Runnable gui = new Runnable() { public void run() { new Demo().setVisible(true); } }; //GUI must start on EventDispatchThread: SwingUtilities.invokeLater(gui); } }

Conclusion :


Je n'ai pas trouvé de source analogue gratuite sur tous le réseau. Alors j'ai programmé moi-même le truc..

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
samedi 28 novembre 2009
Statut
Membre
Dernière intervention
29 novembre 2009

Merci Monsieur pour votre effort
Messages postés
15
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
30 avril 2011

En l'occurence la version que je propose n'est pas parfaite et pas complète non plus.

L'intéret principal reste le partage.
Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
10
William44290,
Je ne prétend pas que mon code soit parfait ni qu'il soit complet. Chacun peut le perfectionner et l'adapter comme bon lui semble et suivant les besoins de son projet. Par exemple, je viens de l'intégrer dans un projet qui a besoin des numéros de semaines, que j'ai ajouté dans une colonne du sélecteur. En plus j'ai ajouté deux boutons pour aller au mois courant et au mois de la sélection (en fait, dans ce projet ne fait que des sélections simples). Merci en tout cas d'avoir publié ta version. Je vais l'examiner prochainement.
Messages postés
15
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
30 avril 2011

Bonjour uhrand,

J'ai travaillé sur ce code mais il m'a été difficile de le reprendre pour l'intégrer dans mon projet notamment :

a) le partage de la liste de dates sélectionnées entre la frame et la boite dialog.
b) la répartition du code dans les différents .JAVA
c) Certain nom (...Model) de class
d) Les type Day, Date & Calendar un peu dispersé

Je me suis permis d'en refaire une autre version en espérant que celle-ci soit plus simple.

je l'ai référencé sur le site sous ce titre
SÉLECTEUR DE DATES MULTIPLES, ORIGINE UHRAND
Amicalement William.
Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
10
William44290,
je suis content que ma source est utile pour ton projet. Merci pour ton commentaire concernant la présentation. Je vais en tenir compte prochainement.
Cordialement,
André
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.