Problème de focus

mouss11 Messages postés 43 Date d'inscription mercredi 22 mai 2002 Statut Membre Dernière intervention 29 octobre 2007 - 24 juin 2004 à 09:11
mouss11 Messages postés 43 Date d'inscription mercredi 22 mai 2002 Statut Membre Dernière intervention 29 octobre 2007 - 5 juil. 2004 à 15:35
J'ai créé une JDialog avec plusieurs champs JTextField, des JLabel, JComboBox, etc.
Quand ma fenêtre apparait, j'aimerai que ce soit mon premier JTextField qui prenne le focus donc j'ai fait ça avant l'affichage de la JDialog :
jTextFieldEquals.requestFocus();

Mais rien à faire, c'est toujours le comboBox qui prend le focus. Alors j'ai essayé tout ça au pif :
jTextFieldEquals.requestFocusInWindow();
jTextFieldEquals.grabFocus();
jTextFieldEquals.requestFocus(true);
jTextFieldEquals.setFocusCycleRoot(true);
jTextFieldEquals.setFocusTraversalKeysEnabled(true);
jTextFieldEquals.setSelectionStart(0);
System.getProperties().list( System.out ); 

Rien y fait, est-ce que vous avez une idée pourquoi mon JTextField perd le focus une fois la fenêtre affiché.
Pourvu qu'il y est une réponse, lol
Merci d'avance,
++ Mouss

3 réponses

wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
24 juin 2004 à 10:27
requestFocusInWindow est plus adapté...
0
mouss11 Messages postés 43 Date d'inscription mercredi 22 mai 2002 Statut Membre Dernière intervention 29 octobre 2007
24 juin 2004 à 11:27
ça ne marche pas non plus, j'ai déjà essayé toutes les méthodes que j'ai cité.
Je précise que ma JDialog est une fenêtre modale appelé par une fenêtre principale.
C'est à dire que lorsque je fais maFenetre.setVisible(true); le programme attend que la fenêtre soit fermée pour continuer l'exécution du code derrière le .setVisible(true);
Donc je fait mon jTextFieldEquals.requestFocusInWindow(); avant que la fenêtre ne soit affichée.
J'espère que je suis plus clair et que quelqu'un va trouver la solution :)
Merci wargre
0
mouss11 Messages postés 43 Date d'inscription mercredi 22 mai 2002 Statut Membre Dernière intervention 29 octobre 2007
5 juil. 2004 à 15:35
Je viens de trouver comment faire, mais ce n'est vraiment pas propre. En fait je met un listener sur le composant qui prend le focus à l'affichage de la JDialog et qui redonne le focus au composant de mon choix
protected void jComboBoxProjetFocusGained(FocusEvent evt){
jTextFieldEquals.requestFocus();
}


Si quelqu'un trouve mieux, je suis toujours preneur !
A+ Mouss
0
Rejoignez-nous