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).
Citation Envoyé par ®om Voir le message
Pour suivre le pattern de JOptionPane mais sans utiliser JOptionPane (faire toi-même ta classe complètement) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 MonObjet toto = MaDialogPerso.get (frameParent)
Parce que là, je vois pas trop où est le stade "blocant" que peut avoir une JOptionPane.showXXXPanel ()
Merci