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);
}
});
}
} |
Partager