Bonjour,
voila globalement j'ai une jtable et l'utilisateur a la possibilite de changer les donnees de cellule au prealable selectionnees. Une nouvelle frame s'affiche ou il ecrit la nouvelle donnee.
Le probleme c'est que la table n'attend pas que cette frame soit fermee ( a l'aide d'un bouton OK) ou que le texte soit edite pour editer la cellule.
J'utilise alors un wait() la ou j'appelle ma fonction me permettant d'editer la cellule ( un mouse listener, on clique sur un choix dans un popupMenu s'affichant sur la table) et j'insere un notifyAll dans le listener de mon bouton. Mon probleme est que je ne sors plus du wait par la suite.
Voici les codes:
pour le bouton listener:
Pour le mouse listener ( popupmenu listener)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class BoutonListener implements ActionListener { public void actionPerformed(ActionEvent e) { text = jtf.getText(); frame.dispose(); notifyAll(); } }
Voila, j'ai bien essaye avec un try catch mais je n'y arrive pas,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // Change value for one cell JMenuItem justOneCell = new JMenuItem("For this one Cell"); changeValue.add(justOneCell); justOneCell.addActionListener(new ActionListener() { ppublic void actionPerformed(ActionEvent e) { setText(); // La fonction me permettant d'obtenir la deuxieme frame et le texte entre par l'utilisateur wait(); jTable.setValueAt(text, rowIndex, columnIndex); });
si quelqu'un peu m'aider je l'en remercie d'avance.
Cordialement,
Liiinz
Partager