IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Code Java pour une liste dynamique


Sujet :

avec Java

  1. #1
    Membre actif Avatar de Jean_Benoit
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 499
    Points : 234
    Points
    234
    Par défaut Code Java pour une liste dynamique
    Bonjour,

    Je cherche un widget Java qui restreint une liste à mesure que l'utilisateur entre des lettres.
    Par exemple
    Touches entrées: [Lé]...
    Restrictions de la liste à
    [Léa]
    [Léonne]
    [Léon]
    [Léïla]

    Merci pour votre aide.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 17
    Points : 31
    Points
    31
    Par défaut
    Bonsoir, ci-dessous un lien sur une discussion au sujet de l'auto-complétion sur JComboBox (tu trouveras d'autres exemples en tapant sur google "jcombobox autocompletion" ou encore "jlist autocompletion").

    http://www.developpez.net/forums/d37...ion-jcombobox/

  3. #3
    Membre actif Avatar de Jean_Benoit
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 499
    Points : 234
    Points
    234
    Par défaut
    Bonjour,

    J'ai trouvé ce code sur un site francophone:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
        import java.awt.event.KeyAdapter;
        import java.awt.event.KeyEvent;
        import java.util.ArrayList;
        import javax.swing.DefaultListModel;
        import javax.swing.JFrame;
        import javax.swing.JList;
        import javax.swing.JTextField;
        import javax.swing.SwingUtilities;
        import org.dyno.visual.swing.layouts.Constraints;
        import org.dyno.visual.swing.layouts.GroupLayout;
        import org.dyno.visual.swing.layouts.Leading;
     
        @SuppressWarnings("all")
     
        public class TextFilter extends JFrame {
           private JList jList0;
           private JTextField jTextFieldRecherche;
           private ArrayList lesElements = new ArrayList();
     
           public TextFilter() {
              setLayout(new GroupLayout());
              add(getJList0(), new Constraints(new Leading(24, 155, 10, 10), new Leading(32, 387, 10, 10)));
              add(getJTextFieldRecherche(), new Constraints(new Leading(297, 119, 10, 10), new Leading(163, 10, 10)));
              setSize(550, 450);
           }
     
           private void initArrayList(){
              lesElements.add("Lucas");
              lesElements.add("Lea");
              lesElements.add("Theo");
              lesElements.add("Manon");
              lesElements.add("Hugo");
              lesElements.add("Emma");
              lesElements.add("Thomas");
              lesElements.add("Chloe");
              lesElements.add("Enzo");
              lesElements.add("Camille");
              lesElements.add("Maxime");
              lesElements.add("Oceane");
              lesElements.add("Alexandre");
              lesElements.add("Ines");
              lesElements.add("Mathis");
              lesElements.add("Marie");
              lesElements.add("Nathan");
              lesElements.add("Clara");
              lesElements.add("Antoine");
              lesElements.add("Sarah");
           }
     
           private JList getJList0() {
              if (jList0 == null) {
                 jList0 = new JList();
                 DefaultListModel listModel = new DefaultListModel();
                 initArrayList();
                 //Ajouts des Elements de l'arrayList dans la JList
                 for (int i = 0; i< lesElements.size();i++) listModel.addElement(lesElements.get(i).toString());
                 jList0.setModel(listModel);
                 }
              return jList0;
           }
     
           private JTextField getJTextFieldRecherche() {
              if (jTextFieldRecherche == null) {
                 jTextFieldRecherche = new JTextField();
                 //Ajout d'un listener lors d'un relachement d'une touche de clavier
                 jTextFieldRecherche.addKeyListener(new KeyAdapter() {
                    public void keyReleased(KeyEvent e) {
                    DefaultListModel model = new DefaultListModel();//creation dun nouveau model pour une JList
                    String enteredText = jTextFieldRecherche.getText(); //On recupere le texte entree dans le JtextField
                    for (int i = 0; i< lesElements.size();i++) {
                       //Comparaison des elements contenu dans l ArrayList et du texte entree
                       if (lesElements.get(i).toString().indexOf(enteredText) != -1) {
                       model.addElement(lesElements.get(i).toString());//ajout de lelement dans le nouveau model
                       }
                    }
                 getJList0().setModel(model);//On definie ce nouveau model pour la JList
              }
              });
           }
           return jTextFieldRecherche;
           }
     
     
           public static void main(String[] args) {
              SwingUtilities.invokeLater(new Runnable() {
              @Override
              public void run() {
                 TextFilter frame = new TextFilter();
                 frame.setDefaultCloseOperation(TextFilter.EXIT_ON_CLOSE);
                 frame.setTitle("TextFilter");
                 frame.getContentPane().setPreferredSize(frame.getSize());
                 frame.pack();
                 frame.setLocationRelativeTo(null);
                 frame.setVisible(true);
              }
              });
           }
        }
    C'est déjà bien, maintenant je vais rechercher ce que tu m'as indiqué.
    Les imports org.dyno sont résolus par un plugin pour Eclipse trouvé sur le web.

    Merci beaucoup

  4. #4
    Membre actif Avatar de Jean_Benoit
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 499
    Points : 234
    Points
    234
    Par défaut
    Bonjour,

    Le plugin org.dyno.visual.swing se trouve ici:

    http://code.google.com/p/visualswing...0.zip&can=2&q=

    Bonne journée

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 17
    Points : 31
    Points
    31
    Par défaut
    Bonsoir,

    Un peu dans la même idée que ce que tu propose, j'ai trouvé une implémentation intéressante décrite ici : http://codeidol.com/java/swing/Lists...Filter-JLists/ (le site est en anglais, mais le code est simple et bien documenté).
    L'avantage est que tu n'as plus qu'à instancier la liste, renseigner ses éléments, récupérer et afficher le textfield de recherche inclus.

    En espérant que cela t'aidera.

Discussions similaires

  1. generateur de code java pour rechercher dans une base de donnees
    Par cdubet dans le forum EDI et Outils pour Java
    Réponses: 5
    Dernier message: 18/02/2017, 10h10
  2. Code CSS pour une liste et sous-listes imbriquées
    Par Diawar dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 04/08/2014, 23h17
  3. Formule pour une liste dynamique
    Par mar31 dans le forum Excel
    Réponses: 7
    Dernier message: 03/07/2014, 16h56
  4. Code Java pour une connexion d'un serveur metadata SAS version 9.3
    Par RaniaDebutante dans le forum Outils BI
    Réponses: 1
    Dernier message: 29/03/2014, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo