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

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Points : 13
    Points
    13
    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 émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    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 à l'essai
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Points : 13
    Points
    13
    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 à l'essai
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Points : 13
    Points
    13
    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 habitué 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
    Points : 148
    Points
    148
    Par défaut
    Essaie avec requestFocusInWindow()

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Points : 13
    Points
    13
    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 émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    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 à l'essai
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Points : 13
    Points
    13
    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 régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Points : 99
    Points
    99
    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 régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 318
    Points : 99
    Points
    99
    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