Kilkenny95
Messages postés157Date d'inscriptionlundi 24 septembre 2018StatutMembreDernière intervention31 août 2020
-
4 mars 2019 à 12:56
Bonjour à tous,
J'aimerai trier une Jtable trier en fonction du mot sur lequel on clique avec la souris sur ma Jtree.
Le trie marche correctement lorsque je rentre un mot a chercher. Mais mtn j'aimerai que cette recherche se fasse automatiquement au clique d'un mot de la Jtree.
Je n'arrive pas du tout, à partir de ma classe de trie "RowFilterUtil", à acceder à ma variable txt qui récupère le dernier composant de mon jtree sélectionné.
Je ne sais d'ailleurs pas du tout comment programmer le fait que je veuille utiliser ce "txt" pour trier mon jtable...Si quelqu'un pouvait m'aider...Merci
Ma classe de trie :
public class RowFilterUtil {
public static JTextField createRowFilter(JTable jTable) {
RowSorter<? extends TableModel> rs = jTable.getRowSorter();
if (rs == null) {
jTable.setAutoCreateRowSorter(true);
rs = jTable.getRowSorter();
}
TableRowSorter<? extends TableModel> rowSorter = (rs instanceof TableRowSorter) ? (TableRowSorter<? extends TableModel>) rs : null;
if (rowSorter == null){
throw new RuntimeException("imtrouvabler : " + rs);
}
final JTextField tf = new JTextField(15);
tf.getDocument().addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
update(e);
}
@Override
public void removeUpdate(DocumentEvent e) {
update(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
update(e);
}
private void update(DocumentEvent e){
String texte = tf.getText();
if (texte.trim().length()==0){
rowSorter.setRowFilter(null);
}
else {
rowSorter.setRowFilter(RowFilter.regexFilter("(?i)"+texte));
}
}
});
return tf;
}
Ma classe de mon arbre :
public void JTreebdd() {
DefaultMutableTreeNode racine = new DefaultMutableTreeNode("bdd MSPIFM");
DefaultMutableTreeNode grosVolume = new DefaultMutableTreeNode("Gros volume");
DefaultMutableTreeNode gv1 = new DefaultMutableTreeNode(" GV-1");
DefaultMutableTreeNode gv2 = new DefaultMutableTreeNode(" GV-2");
DefaultMutableTreeNode gv3 = new DefaultMutableTreeNode(" GV-3");
DefaultMutableTreeNode gv4 = new DefaultMutableTreeNode(" GV-4");
DefaultMutableTreeNode gv1_E1 = new DefaultMutableTreeNode("E1_gv");
DefaultMutableTreeNode gv1_E2 = new DefaultMutableTreeNode("E2_gv");
DefaultMutableTreeNode gv1_E3 = new DefaultMutableTreeNode("E3_gv");
DefaultMutableTreeNode gv1_E4 = new DefaultMutableTreeNode("E4_gv");
DefaultMutableTreeNode boite1_E1_GV = new DefaultMutableTreeNode("Boite 1");
DefaultMutableTreeNode carteA = new DefaultMutableTreeNode("Carte A");
DefaultMutableTreeNode piecesA = new DefaultMutableTreeNode("Pièces A");