IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Donner le focus à un composant


Sujet :

Composants Java

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut Donner le focus à un composant
    Bonjour à tous,

    A chaque initialisation de page, j'aimerais donné le focus a un composant, par la méthode requestfocus(), seulement cette méthode ne fonctionne pas.

    Voici comment je procède:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // Initialisation de tous mes composants
    initPanel();
    accueil.requestFocus()
    Et normalement chaque fois que je rafraîchi ce panel, je devrais avoir des pointillé sur le bouton accueil!

    Mais aucun bouton ou composant n'a de focus.
    J'ai pensé alors qu'il fallait faire appel en premier a requestFocusInWindow();
    J'ai donc mis a la place:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // Initialisation de tous mes composants
    initPanel();
    accueil.requestFocusInWindow()
    Mais je n'ai toujours pas de focus sur aucun composant.
    Comment faire?

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    acceuil est il un JButton standard?

    Est tu bien dans l'EDT quand tu fais l'appel?

    Le composant est il visible quand tu fais l'appel?

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut
    Citation Envoyé par sinok Voir le message
    acceuil est il un JButton standard?
    OUI
    Voici le code qui se trouve dans initPanel();
    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
     
    		// Bouton Accueil
    		JButton accueil = new JButton("Accueil");
    		accueil.setFont(Police.arial24);
    		accueil.setPreferredSize(Dimension_taille.taille_200_50);
    		accueil.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				// Si il n'y a pas de débit
    				if (Chiffre.convers_float(debit_total.getText().substring(0, debit_total.getText().length() - 1)) == 0){
    					model.accueilObserver(); // on revient a l'accueil
    				}
    				else {
    					JOptionPane.showMessageDialog(
    									null,
    									"Impossible de quitter tant que le débit total ne vaut pas 0,00€",
    									"Erreur", JOptionPane.ERROR_MESSAGE);
    					logger.error("Impossible de quitter tant que le débit total ne vaut pas 0,00€");
    				}
    			}
    		});
    		head.add(accueil);

    Citation Envoyé par sinok Voir le message
    Est tu bien dans l'EDT quand tu fais l'appel?
    OUI je n'ai pas déclenché de Thread personnalisé.

    Citation Envoyé par sinok Voir le message
    Le composant est il visible quand tu fais l'appel?
    OUI, le composant je le masque pas.
    Je me suis inspiré du livre de Claude DELANNOY java 5 et 6 5eme édition.
    Page 473 à 475.
    Il explique comment résoudre des problèmes de focalisation, notamment avec la méthode compo.requestFocus();
    Mais dans tous ses exemples, il ne met cette méthode que dans une action du composant. Il utilise addMouseListener.

    Peut être que cette méthode n'est valable que si elle est dans l'action du composant!

Discussions similaires

  1. donner le focus à un composant swing
    Par lity7 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 19/10/2007, 23h18
  2. comment donner le focus a un composant JTexrField
    Par inter_amine dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 23/01/2007, 22h19
  3. Donner le focus a un composant
    Par faico dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 17/06/2006, 14h00
  4. donner le focus sur un composant dont la fenetre est invisib
    Par yoghisan dans le forum Composants VCL
    Réponses: 12
    Dernier message: 17/06/2005, 17h27
  5. Réponses: 4
    Dernier message: 18/05/2005, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo