Bonjour a tous ,
Voici mon problème :
Dans la classe ConvAndTrans (fenêtre JFrame) j'appelle la méthode SelectChoice de la classe HostChoice. Cette méthode crée une nouvelle fenêtre dans laquelle l'utilisateur est sensé faire un choix dans une combobox puis le valider en cliquant sur ok.
Problème, l’exécution continue dans la classe ConvAndTrans avant que l'utilisateur n'est pu intervenir .
J'aimerai que l'utilisateur puisse faire son choix puis le valider avant le retour dans la classe ConvAndTrans.

Voici les extraits de code :

Classe ConvAndTrans

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
HostChoice host = new HostChoice();
	host.SelectChoice();
	System.out.println("conv " + host.getChoice());
	if (host.isButtonOk()) {
		LoginPortefeuilleJFrame login = new LoginPortefeuilleJFrame();
        }
Classe HostChoice

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
public class HostChoice extends JFrame {
 
	private JComboBox hostType;
	private JLabel hostTypeLabel;
	private String choice;
	private boolean buttonOk =false;
 
 
	public HostChoice() {
	}
 
	public void SelectChoice() {
 
		this.setTitle("Connection");
		this.setSize(300, 200);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		// combobox
		JPanel panHostType = new JPanel();
		panHostType.setBackground(Color.white);
		panHostType.setPreferredSize(new Dimension(100, 100));
		panHostType.setBorder(BorderFactory.createTitledBorder("Host Wahl"));
		hostType = new JComboBox();
		hostType.setPreferredSize(new Dimension(100, 30));
		hostType.addItem("QQ");
		hostType.addItem("QS");
		hostType.addItem("Test");
		hostTypeLabel = new JLabel("Host : ");
		panHostType.add(hostTypeLabel);
		panHostType.add(hostType);
		// bouton
		JPanel control = new JPanel();
		JButton okBouton = new JButton("OK");
		okBouton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// items selected
				setChoice((String) hostType.getSelectedItem());
				buttonOk = true;
			}
		});
		JButton cancelBouton = new JButton("Back");
		cancelBouton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				setVisible(false);
			}
		});
		control.add(okBouton);
		control.add(cancelBouton);
		this.getContentPane().add(panHostType, BorderLayout.CENTER);
		this.getContentPane().add(control, BorderLayout.SOUTH);
		this.setVisible(true);
 
	}
 
 
 
	public boolean isButtonOk() {
		return buttonOk;
	}
 
	public void setButtonOk(boolean buttonOk) {
		this.buttonOk = buttonOk;
	}
 
	public void setChoice(String choice) {
		this.choice = choice;
	}
 
	public String getChoice() {
		return choice;
	}
 
}
Merci d'avance