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

  1. 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