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

 Java Discussion :

Problème JTextField et FocusLost


Sujet :

Java

  1. #1
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Par défaut Problème JTextField et FocusLost
    Bonsoir,

    J’ai une fenêtre en java qui contient un JTextField à chaque fois que la fenêtre se charge le curseur se met automatiquement à clignoter au niveau du JTextField

    J’implémente l’interface FocusListener, y a-t-il un moyen que mon JTextField ait dès le chargement de ma fenêtre un FocusLost ?

    Voici mon code source :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    //Fenetre.java 
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
     
    public class fenetre extends JFrame implements FocusListener{
     
     
    	private JTextField t = new JTextField(10); 
     
     
    	    public fenetre()
    	    {
    	    	Container c = getContentPane();
    	    	c.setLayout(new FlowLayout());
    	    	c.add(t);
    	    	setTitle("Ma fenetre");
    			setSize(400,400);
    			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    			t.addFocusListener(this);
    			setVisible(true);
    	    }
     
     
    		public void focusGained(FocusEvent e) {
    			t.setText("");
     
    		}
     
     
    		public void focusLost(FocusEvent e) {
    			t.setForeground(Color.gray.brighter());
    			t.setText("Recherche");
    		}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //Main.java
     
    public class Main {
     
     
    	public static void main(String[] args) {
    		fenetre f = new fenetre();
     
    	}}

  2. #2
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Bonjour,

    pour que ce comportement soit possible, il faudrait que la fenêtre contienne un autre composant qui puisse prendre le focus.
    Auquel cas, il suffirait de s'assurer au démarrage de l'application, que le focus appartienne au JTextField, puis de passer le focus à l'autre composant avec focusRequested().

    Mais si vous voulez en fait exécuter dès le démarrage de l'application, le code correspondant au "focusLost", créez une méthode qui serait non seulement appelée depuis la méthode focusLost( Event ) mais aussi juste après le code setVisible( true ); de la méthode principale.
    Cela éviterait toute la magouille de pseudo perte de focus.

    En espérant que cela vous aide...

  3. #3
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Par défaut Résolu
    Merci pour la réponse en fait j'ai opté pour la première solution vu que j'ai un autre JTextField en setEditable(false) donc j'ai mis ce dernier en requestFocus()
    après le setVisible ce qui fait que le curseur n'apparaît pas au niveau de ce champ de texte et mon problème et ainsi résolu.
    Merci

Discussions similaires

  1. Problème JTextfield sur jar exécutable
    Par Thrainsa dans le forum Langage
    Réponses: 1
    Dernier message: 23/07/2012, 19h03
  2. problème jtextField condition
    Par beachshells dans le forum Composants
    Réponses: 2
    Dernier message: 02/06/2009, 10h09
  3. [JTextField] Inhiber FocusLost / FocusGained Event
    Par roberto1 dans le forum Composants
    Réponses: 10
    Dernier message: 25/10/2006, 20h22
  4. [JTextField] Problème de setText()
    Par deathwing dans le forum Composants
    Réponses: 4
    Dernier message: 09/06/2004, 10h54
  5. [JTextField][JDBC] Problème d'affichage
    Par deathwing dans le forum JDBC
    Réponses: 4
    Dernier message: 12/05/2004, 14h50

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