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 un focus un JTextField dans une interface complexe


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Par défaut Donner un focus un JTextField dans une interface complexe
    Bonjour tt le monde,

    J'ai une interface composé d'un ensemble de Jpanel supérposés;

    applet (Japplet) -> cobg (Jpanel) ->main(Jpanel) -> formScreen (Jpanel) -> login (Jpanel) -> username (JTextField).

    (->) signifie contient.

    Au démarrage de l'applet j'ai l'interface de login qui s'affiche.

    Je voudrais savoir comment donner le focus à username sans clicker?
    sachant que j'ai utilisé username.requestFocus() mais ça n'a pas marché.

    Merci.

  2. #2
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    il faut que le JTextField soit le dernier à demander le focus. Pour ça, tu peux essayer d'appeler requestFocus() à la fin de la création de l'applet, ou bien d'appeler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        username.requestFocus();
      }
    }
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Membre averti
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Par défaut
    Merci pour le réponse.

    J'ai ton bout de code à la fin de la méthode init() de l'applet, le probléme c'est que ça marche lors du debuggage et pas dans l'exécution de l'aplication. sachant que je traville sous eclipse .
    j'ai ausi mis username en public pour pouvoir lui accéder à partir de l'applet.

    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
    public void init() {
        try {
          coFormTree = new FormTree(this, null);
          coFormScreen = new FormScreen();
          coLogin = new Login(this, coSession.URL);
          jbInit();
     
         SwingUtilities.invokeLater(new Runnable() {
        	  public void run() {
        	   coLogin.username.requestFocus();
        	  }
        	});
        }
        catch (Exception e) {
          e.printStackTrace();
        }
        ExceptionPB.coJComponent = coFormScreen;
      }
    [/code]

  4. #4
    Membre averti
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Par défaut
    En fait le vrai prblème c'est que le focus ne s'affiche sur le textfield qu'après avoir réduir et restorer l'application.

    je ne sais pas exactement pourquoi.

  5. #5
    Membre éprouvé Avatar de White Rabbit
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 122
    Par défaut
    Essaie avec requestFocusInWindow()

  6. #6
    Membre averti
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Par défaut
    j'ai toujours le même problème. il faut toujours réduire la fenêtre puis la restaurer pour que ça marche. c'est pas du tout pratique!!!!!!!!

  7. #7
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Alors peut être un petit repaint/revalidate/validateTree juste après avoir appelé requestFocus ?
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  8. #8
    Membre averti
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Par défaut
    J'ai assayé repaint/validate/validateTree mais sans résultat.

  9. #9
    Invité
    Invité(e)
    Par défaut
    As tu réussi à résoudre ton problème, j'ai le même que toi.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Par défaut
    Savez en autre avoir ce jTextField avec le texte pré-sélectionner ?

  11. #11
    Invité
    Invité(e)
    Par défaut
    non ?

    pour ce qui est du focus, j'utilise un thread SwingUtilities.invokeLater à l'ouverture de l'écran comme indiqué plus haut, le problème venait du fait que je ne l'utilisait pas au bon endroit.
    Dernière modification par Invité ; 26/06/2006 à 10h37.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Par défaut
    merci

Discussions similaires

  1. Changement de nom dans une interface
    Par memed dans le forum Oracle
    Réponses: 6
    Dernier message: 27/10/2005, 18h20
  2. [vb.net][html] afficher une page html dans une interface vb?
    Par graphicsxp dans le forum Windows Forms
    Réponses: 1
    Dernier message: 29/09/2005, 17h31
  3. [JTreeTable] JTextField dans une cellule
    Par seiryujay dans le forum Composants
    Réponses: 3
    Dernier message: 28/07/2005, 09h30
  4. Donner le focus à un JPanel dans un autre JPanel
    Par Azanael dans le forum Agents de placement/Fenêtres
    Réponses: 17
    Dernier message: 21/06/2005, 23h34
  5. Tableau dans une interface idl
    Par Polochon2001 dans le forum CORBA
    Réponses: 2
    Dernier message: 14/05/2004, 09h44

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