Problème wait() et notifyAll()
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:
Code:
1 2 3 4 5 6 7 8 9
| class BoutonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
text = jtf.getText();
frame.dispose();
notifyAll();
}
} |
Pour le mouse listener ( popupmenu listener)
Code:
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);
}); |
Voila, j'ai bien essaye avec un try catch mais je n'y arrive pas,
si quelqu'un peu m'aider je l'en remercie d'avance.
Cordialement,
Liiinz