salut,
pour faire la recherche dans une JTable on fait comme suit:
mais comment faire pour coder la recherche dans JList???Code:table.setSrorter(......);
merci d'avance.
Version imprimable
salut,
pour faire la recherche dans une JTable on fait comme suit:
mais comment faire pour coder la recherche dans JList???Code:table.setSrorter(......);
merci d'avance.
c'est bon j'ai trouvé une petite solution qui m'a sauvé comme même :mouarf:
alors quand on met le curseur sur la zone de recherche addkeylistner vas écouter la saisie dans cette zone ,ainsi vas exécuter une méthode searchFilter :
, notre méthode searchFilter vas être plus simple qu'on pense:Code:
1
2
3
4
5
6
7
8
9
10 DefaultListModel ml=new DefaultListModel(); JList ls=new JList(ml); JTextField search=new JTextField(); search.addKeyListener(new KeyAdapter() { @Override public void keyTyped(KeyEvent arg0) { searchFilter(ml,search.getText(),ls); } });
Code:
1
2
3
4
5
6
7
8
9
10
11
12 private void searchFilter(DefaultListModel ml,String search,JList ls){ DefaultListModel new_ml=new DefaultListModel(); for(int i=0;i<ml.getSize();i++) { String mot=ml.get(i).toString().toLowerCase(); if (mot.contains(search.toLowerCase())) { new_ml.addElement(ml.get(i)); } } ls.setModel(new_ml); } on parcours lancienne listModel ,et chaque fois quand on rencontre un élément proche à la chaîne de caractère saisie on l'enregistre dans une nouvelle ListModel .