Je cherche a faire transiter des variables d'une JDialog perso vers ma frame principale. J'ai regardé sur le forum et les solutions que j'ai trouvé sont :
getter d'attribut dans le dialog (un peu caca
), utilisation de variables globale (plus caca
) et cette methode quoté ci-dessous qui est a mon gout la plus jolie (en tout cas de ce que j'y ai pu comprendre).

Envoyé par
®om
Pour suivre le pattern de JOptionPane mais sans utiliser JOptionPane (faire toi-même ta classe complètement) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| public class DialogPerso extends JDialog {
private TonType object;
private DialogPerso(Window owner) {
super(owner,"unTitre",ModalityType.APPLICATION_MODAL);
//construction de ta fenêtre...
unDesBoutons.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// initialisation de l'objet et fermeture de la fenêtre
object = ...
dispose();
}
});
pack();
setLocationRelativeTo(owner);
}
public static TonType get(Window owner) {
DialogPerso d = new DialogPerso(owner);
d.setVisible(true);
return d.object;
}
} |
Est ce que quelqu'un pourrait me detaillé un peu plus son utilisation s'il vous plait ? Est ce que cela permettrait de faire comme une des methodes static de JOptionPanel showXXXDialog () et de recuperer le resultat de cette facon :
MonObjet toto = MaDialogPerso.get (frameParent)
Parce que là, je vois pas trop où est le stade "blocant" que peut avoir une JOptionPane.showXXXPanel ()
Merci
Partager