A voir également:
- Recherche java
- Recherche musique - Guide
- Recherche par image - Guide
- Jeux java itel ✓ - Forum Jeux vidéo
- Java runtime - Télécharger - Langages
- Java apk - Télécharger - Langages
4 réponses
sandul
Messages postés
3924
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
721
19 août 2008 à 20:37
19 août 2008 à 20:37
Salut,
En Swing ou Web? Si Swing, tu peux faire un listener sur l'événement key released et faire l'intérrogation en ce moment. Si Web, tu peux utiliser Ajax.
++
En Swing ou Web? Si Swing, tu peux faire un listener sur l'événement key released et faire l'intérrogation en ce moment. Si Web, tu peux utiliser Ajax.
++
merci pour la réponse mais vous pouvez mieux m'expliquer. merci bien
sandul
Messages postés
3924
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
721
20 août 2008 à 08:57
20 août 2008 à 08:57
Ben, voyons, c'est à toi de mieux expliquer ce que tu veux faire:
je veut faire une recherche avec java. mais je veut que la recherche se fait au fur et à mesure avec la saisie du mot recherché. <== quel genre d'application as-tu? Une application Java desktop? Dans ce cas: utilises-tu Swing? AWT? SWT? Autre?
Si pas de desktop: est-ce qu'il s'agit d'un application Web?
++
je veut faire une recherche avec java. mais je veut que la recherche se fait au fur et à mesure avec la saisie du mot recherché. <== quel genre d'application as-tu? Une application Java desktop? Dans ce cas: utilises-tu Swing? AWT? SWT? Autre?
Si pas de desktop: est-ce qu'il s'agit d'un application Web?
++
j'ai un tableau de données. contenant nom prénom etc....
au dessous du tableau j'ai un jtextfield . par exemple je vais faire la recherche selon le nom. par exemple je cherche les clients sous le nom salma. quand je saisie s les lignes du tableau dont la première lettre du nom et différente de s vont disparettre. apres quand je saisie a le tableau elimine encors des lignes etc...
j'utilise le swing
au dessous du tableau j'ai un jtextfield . par exemple je vais faire la recherche selon le nom. par exemple je cherche les clients sous le nom salma. quand je saisie s les lignes du tableau dont la première lettre du nom et différente de s vont disparettre. apres quand je saisie a le tableau elimine encors des lignes etc...
j'utilise le swing
sandul
Messages postés
3924
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
8 octobre 2010
721
20 août 2008 à 11:01
20 août 2008 à 11:01
OK.
j'ai un tableau de données. contenant nom prénom etc. <== je suppose que le composant est une JTable. Dans ce cas, tu pourrais faire un truc comme ça (code non optimisé du tout: si le modèle est grand - des milliers de lignes - ça va ramer).
++
j'ai un tableau de données. contenant nom prénom etc. <== je suppose que le composant est une JTable. Dans ce cas, tu pourrais faire un truc comme ça (code non optimisé du tout: si le modèle est grand - des milliers de lignes - ça va ramer).
import java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class SalmaSample extends JFrame {
private JTable table;
private JTextField textField;
private static final long serialVersionUID = 1L;
private final String[][] data = new String[][] { { "nicolas", "sarko" }, { "bonaparte", "napoléon" },
{ "jules", "césar" }, { "salma", "salma" } };
private final String[] cols = new String[] { "prénom", "nom" };
DefaultTableModel model = new DefaultTableModel(data, cols);
public static void main(String args[]) {
try {
SalmaSample frame = new SalmaSample();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
public SalmaSample() {
super();
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textField = new JTextField();
textField.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
// restore the ancient table model
getTable().setModel(model);
// seek the model (column name)
String enteredText = textField.getText();
Vector<Vector> data = ((DefaultTableModel) getTable().getModel()).getDataVector();
// in our example (hardcoded),data is a Vector of Vector; inner Vector contains 2 elements
// first one is our firstName we're looking for
Vector<Vector<String>> filteredElements = new Vector<Vector<String>>();
for (Vector<String> v : data) {
if (v.get(0).startsWith(enteredText)) {
filteredElements.add(v);
}
}
// at this point, we have all the elements starting with our enteredText
Vector<String> colV = new Vector<String>();
colV.add("prénom");
colV.add("nom");
DefaultTableModel newModel = new DefaultTableModel(filteredElements, colV);
getTable().setModel(newModel);
}
});
getContentPane().add(textField, BorderLayout.NORTH);
final JScrollPane scrollPane = new JScrollPane();
getContentPane().add(scrollPane, BorderLayout.CENTER);
scrollPane.setViewportView(getTable());
//
}
protected JTable getTable() {
if (table == null) {
table = new JTable(model);
}
return table;
}
}
++