Recherche java
Salma
-
Salma -
Salma -
Bonjour,
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é.
C'est à dire, le tableau des données élimine des lignes à chaque fois je saisie un caractère.
Pouvez vous me aider svp.
Merci bien d'avance.
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é.
C'est à dire, le tableau des données élimine des lignes à chaque fois je saisie un caractère.
Pouvez vous me aider svp.
Merci bien d'avance.
A voir également:
- Recherche java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
4 réponses
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.
++
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
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;
}
}
++