Précédent   Forum du club des développeurs et IT Pro > Java > Interfaces Graphiques en Java > AWT/SWING > Fenêtres/Dialogues
Fenêtres/Dialogues Vos questions sur les gestionnaires d'affichage (layouts) et la mise en page, la création, gestion et organisation des fenêtres, dialogues et panneaux.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 04/01/2013, 11h30   #1
kilian61
Invité de passage
 
Inscription : août 2012
Messages : 14
Détails du profil
Informations forums :
Inscription : août 2012
Messages : 14
Points : 1
Points : 1
Par défaut Continuer uniquement après une action de l'utilisateur

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 :
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 :
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
kilian61 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 12h42   #2
fraco
Membre chevronné
 
Avatar de fraco
 
Inscription : juin 2006
Messages : 739
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 739
Points : 761
Points : 761
Salut !

Citation:
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.
avec un JDialog modal peut-être, au lieu d'une fenêtre ?

Code :
jDialog1.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);
http://docs.oracle.com/javase/tutori...ts/dialog.html
fraco est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h52.


 
 
 
 
Partenaires

Hébergement Web