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 :

[AWT] TewtField évènement MousePressed


Sujet :

Composants Java

  1. #1
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut [AWT] TewtField évènement MousePressed
    Bonjour à tous.

    Je dois, dans le cadre de l'école, réaliser une petite application en java.
    Pour ce faire, dans le cadre de l'application, je dois permettre à l'utilisateur de s'authentifier au démarrage de celle-ci.
    J'ai donc créer une interface graphique (une Frame) dans laquelle je place des Labels, des TextField et deux boutons.

    Dans mes TextField, je place des chaîne de caractères, juste à titre informatif contenant simplement:
    Pour mon TextField du username:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TFUser = new TextField("le nom d'utilisateur ici");
    et pour mon TextField du password:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TFPasswd = new TextField("le mot de passe ici");
    Maintenant, j'aurais aimer, comme on le retrouve dans plusieurs applications, lorsque je click sur le TextField, vider celui-ci et permettre au user de saisir ces données, et par la même occasion, initialiser le TextField du password de manière à afficher des '*' au lieu des caractères saisis.

    J'ai essayer de mettre en place un event, mais il ne marche pas
    J'ai donc, pour l'abonnement à l'évènement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TFUser.addActionListener(this);
    Et quand je traite l'évènement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void actionPerformed(ActionEvent e)
    	{
    		String _info;
    		_info = e.getActionCommand();
    		System.out.println("click dans le TFUser");
                           System.out.println(_info);
               }
    Dès lors, lorsque je click sur mon TextField, je n'affiche rien dans ma console.
    Je suppose donc, que l'évènement que j'utilise n'est pas le bon.
    Donc voici ma question, est ce que quelqu'un parmi saurais me dire quel évènement je dois utiliser pour réaliser ceci?
    Je pensais au MouseListener, mais n'ayant jamais utiliser celui-ci, j'ai peur de m'embarquer dans une folle théorie ne servant quand même à rien.

    Merci pour votre attention, et dans l'attente de réponse constructives, je vous souhaites une bonne fin de journée et une bonne fin de w-e.

    Richard_sraing

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Et pourtant... pour réagir à une action de la souris, le MouseListener est plus adapté (hors clic sur un Button, pour lequel il faut utiliser ActionListener).

  3. #3
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut
    Je viens de trouver quelque petite choses en parcourant le web.

    J'ai entre autres trouver comment utiliser le MouseListener.
    Pour cela, il m'a fallu implémenter l'interface MouseListener, et surcharger les méthodes que je vais utiliser. Dans mon cas, n'ayant besoin que de l'évènement MousePressed, je vais donc écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	public void mousePressed(MouseEvent e) 
    	{
    		System.out.println("Click sur la zone de text");
    		System.out.println("Source du click: " + e.getSource());
    	}
    J'ai dès lors un problème, je ne sais pas quel éléments graphique c'est fait clicker. Je ne sais pas si c'est mon TextField de username ou mon TF de password.

    Y aurait-il une façon de le voir? Donc, en quelque sorte quel est le composant qui a reçu l'évènement?
    J'ai essayer avec getSource, mais il me retourne:
    Source du click: java.awt.TextField[textfield0,235,26,231x55,text=le nom d'utili
    sateur ici,editable,selection=24-24]
    Et je n'ai malheureusement pas le nom du composant source
    Si vous me dites:
    "Ben c'est simple, le nom c'est textfield0". Je dit non, mon nom est TFUser ou encore TFPassword.

    A moins que, lors d'un Add d'un composant dans la fenêtre principale qui contient un GridBagLayout, il ne change le nom de mes composants.
    Mais comment, pourrais-je, sans trop de difficulté récupérer le nom hors de la chaîne susmentionnée ??

    Merci pour la réponse que vous m'apporterez.

  4. #4
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (e.getSource() == TFUser) {
     
    } else if (e.getSource() == TFPassword) {
     
    }

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 179
    Par défaut
    Personnellement, j'aurais plutôt utilisé un FocusListener. Si je viens sur ton champ avec les tabulations au lieu de la souris, il ne se passe rien. L'utilisation est identique au MouseListener pour déterminer quelle est la source de l'événement focus.

    Fred

  6. #6
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Oui bonne idée, je n'y ai pas pensé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/09/2010, 10h17
  2. [AWT] Gestion de plusieurs évènements
    Par Nadd dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 05/12/2007, 12h35
  3. Utiliser une image pour un événement avec swing/awt
    Par Tavarez59 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 23/03/2007, 09h39
  4. [AWT]Erreur d'événement
    Par Pollux dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 31/01/2006, 08h03
  5. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/2002, 16h10

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