Remplir un jtextfield

combe6 -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
je voudrai réalisé un certain nombre d'action comme remplir un jtextfield lorsque je choisi une date grâce à un jDatechooser
cmt faire svp
merci d'avance

1 réponse

KX Messages postés 19031 Statut Modérateur 3 020
 
Là on se heurte rapidement à un problème de conception de JDateChooser dans la bibliothèque, puisque ce genre d'actions n'a pas été prévu !

Il faut donc aller fouiller un peu et créer un objet hérité de JDateChooser pour accéder à ses composants protégés et faire ce que l'on peux comme ça...

Exemple :

import java.awt.GridLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Date;

import javax.swing.JFrame;
import javax.swing.JTextField;

import com.toedter.calendar.JDateChooser;

public class Test
{
    public static void main(String...args)
    {
       final JTextField field = new JTextField();
       
       final JDateChooser chooser = new JDateChooser()
       {
          private static final long serialVersionUID = 1;
          
          {
             dateEditor.addPropertyChangeListener(new PropertyChangeListener()
               {
                  @Override
                  public void propertyChange(PropertyChangeEvent e)
                  {
                     Date date = getDate();
                     
                     if (date==null)
                        field.setText("");
                     else
                        field.setText(String.format("%1$td/%1$tm/%1$tY",date));
                  }
               });
          }
       };
             
       JFrame frame = new JFrame();
       frame.setLayout(new GridLayout(2,1));
       frame.add(chooser);
       frame.add(field);       
       frame.pack();
       frame.setVisible(true);
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
La confiance n'exclut pas le contrôle
0