dioufsou
Messages postés16Date d'inscriptionmardi 4 décembre 2007StatutMembreDernière intervention27 août 2009
-
26 août 2009 à 11:01
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 2011
-
27 août 2009 à 14:28
Bonjour,
Je veux mettre au point un filtre par date avec 2 zones de textes et qui affiche un calendrier pour le choix des dates, il doit me permettre de filtrer l'affichage d'une base de donnée je bloc sur ça depuis 2 jours.
Merci d'avance de bien vouloir me repondre
dioufsou
Messages postés16Date d'inscriptionmardi 4 décembre 2007StatutMembreDernière intervention27 août 2009 26 août 2009 à 14:39
salut,
non je bloque pas sur la requête sql ni sur la partie graphique, j'arrive pas à sélectionner le jour dans le calendrier.
Si t'as un exemple qui marche, j'aimerai bien le voir stp merci d'avance
dioufsou
Messages postés16Date d'inscriptionmardi 4 décembre 2007StatutMembreDernière intervention27 août 2009 26 août 2009 à 15:00
ok, j'essaie de sélectionner des dates à partir d'un calendrier pour faire un filtre par date, le calendrier je l'ai déjà il marche bien, sauf que je ne peux pas sélectionner une date dessus.
et c ça mon problème, le code est super long et moi même j'ai du mal à m'y retrouver, je dois l'optimiser une fois ce problème résolue.
Si tu penses pouvoir m'aider merci d'avance, sinon merci quand même d'avoir regardé
Vous n’avez pas trouvé la réponse que vous recherchez ?
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 26 août 2009 à 15:34
est ce qu'il te serait possible de fournir plus d'info stp ? du code ? les logs éventuelles ? les erreurs ?
Le calendrier est un composant de base ? hérité ? d'une librairie ?
Que veux tu dire par 'je ne peux pas sélectionner de date' ? quel est le comportement ?
Si tu ne donnes pas d'info, on ne peut rien faire pour t'aider. C'est déjà le 4ème message et je ne sais toujours pas quel est ton problème ...
C'est ça que j'ai implémenter dans mon programme principal.
Je fais apel à la class suivante:
public class JCalendar
extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;
private GregorianCalendar _calendar = new GregorianCalendar();
private DateFormatSymbols _dateSymbols = new DateFormatSymbols();
private SimpleDateFormat _formatMY = new SimpleDateFormat("yyyy-MM-dd");
private int _firstDayOfWeek = _calendar.getFirstDayOfWeek();
private final JLabel _monthYear = new JLabel("", SwingUtilities.CENTER);
private final JLabel[] _daysOfWeek = new JLabel[7];
private final JButton[] _daysNumber = new JButton[42];
private final ActionListener _changeMonth = new ActionListener() {
public void actionPerformed(final ActionEvent ae) {
final int nb = "next".equals(ae.getActionCommand()) ? 1: -1;
_calendar.add(Calendar.MONTH, nb);
updateMonthYear();
updateDaysNumber();
System.out.println("ici" + nb);
}
};
private final ActionListener _ChdaysNumber = new ActionListener(){
public void actionPerformed(final ActionEvent ae) {
final int nb = "_daysOfWeek".equals(ae.getActionCommand()) ? 1: -1;
_calendar.add(Calendar.DAY_OF_WEEK_IN_MONTH, nb);
System.out.println("ici1" + nb);
}
};
public JCalendar() {
setLayout(new BorderLayout());
// Month Panel
final JPanel monthPanel = new JPanel();
final JButton previous = new JButton("<<");
previous.addActionListener(_changeMonth);
final JButton next = new JButton(">>");
next.addActionListener(_changeMonth);
next.setActionCommand("next");
_monthYear.setPreferredSize(new Dimension(120, 20));
monthPanel.add(previous);
monthPanel.add(_monthYear);
monthPanel.add(next);
add(monthPanel, BorderLayout.NORTH);
// Day Panel
final JPanel dayPanel = new JPanel();
dayPanel.setLayout(new GridLayout(7, 7));
for (int i = 0; i < 7; ++i)
dayPanel.add(_daysOfWeek[i] = new JLabel("", SwingUtilities.CENTER));
System.out.println("Jour : "+ _daysOfWeek);
for (int i = 0; i < _daysNumber.length; ++i)
{
dayPanel.add(_daysNumber[i] = new JButton());
_daysNumber[i].addActionListener(_ChdaysNumber);
dayPanel.getActionMap();
}
//System.out.println("Jour : "+ _ChdaysNumber);
add(dayPanel, BorderLayout.CENTER);
// Remplissage des composants
updateMonthYear();
updateDaysOfWeek();
updateDaysNumber();
}
// Affiche le mois et l'année en cours
private void updateMonthYear() {
_monthYear.setText(_formatMY.format(_calendar.getTime()));
}
// Affiche les jours de la semaine
private void updateDaysOfWeek() {
final String[] weekDays = _dateSymbols.getShortWeekdays();
for (int i = 1; i < weekDays.length; ++i) {
final int index = (i - 2 + _firstDayOfWeek) % 7 + 1;
_daysOfWeek[i - 1].setText(weekDays[index]);
System.out.println("jour1 : " + _daysOfWeek);
}
}
// Affiche le numéro des jours
private void updateDaysNumber() {
final Date tmp = _calendar.getTime();
_calendar.set(Calendar.DAY_OF_MONTH, 1);
final int firstDay = _calendar.get(Calendar.DAY_OF_WEEK);
final int LocalFirstDay = (firstDay - _firstDayOfWeek + 7) % 7 + 1;
System.out.println("jour2 : " + LocalFirstDay);
boolean full = false;
for (int i = 0; i < _daysNumber.length; ++i) {
//Détermine si le composant est affiché ou non
final boolean isNotEmpty = i < LocalFirstDay - 1 || full;
_daysNumber[i].setVisible(!isNotEmpty);
// Affichage du jour
if (!isNotEmpty) {
final int dayOfMonth = _calendar.get(Calendar.DAY_OF_MONTH);
_daysNumber[i].setText(String.valueOf(dayOfMonth));
_calendar.add(Calendar.DAY_OF_MONTH, 1);
full 1 _calendar.get(Calendar.DAY_OF_MONTH);
}
}
_calendar.setTime(tmp);
System.out.println("jour3 : " + _calendar.get(Calendar.DAY_OF_MONTH));
}
}