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

AWT/Swing Java Discussion :

[Swing] setNextFocusableComponent et FocusTraversalPolicy


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 3
    Par défaut [Swing] setNextFocusableComponent et FocusTraversalPolicy
    Bonjour, qq'un a t'il un exemple simple d'utilisation de la classe FocusTraversalPolicy en remplacement de la méthode setNextFocusableComponent qui est devenu deprecated ?

    Exemple : j'ai 3 composants : a, b, c. Le focus est sur a et je souhaite passer sur le composant c par la touche Tab.

    Merci pour votre aide
    Laurent

  2. #2
    Membre expérimenté Avatar de bidi
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 262
    Par défaut
    Voilà un exemple ;-)
    tu créés cette classe :
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    class FocusPolicy extends 
    ContainerOrderFocusTraversalPolicy {
    	private Vector components;
     
    	private int index;
     
    	//-----
    	public FocusPolicy() {
    		super();
    		components = new Vector();
    		index = 0;
    	}
     
    	//-----
    	public void addComponent(Component c) {
    		components.addElement(c);
    	}
     
    	//-----
    	public Component getFirstComponent() {
    		index = 0;
    		return (Component) components.elementAt(index);
    	}
     
    	//-----
    	public Component getComponentAfter(Container c, Component comp) {
    		Iterator iter = components.iterator();
    		boolean found = false;
    		while (!found && iter.hasNext()) {
    			Component test = (Component) iter.next();
    			found = (test == comp);
    		}
    		if (iter.hasNext())
    			return (Component) iter.next();
    		else
    			return getFirstComponent();
    	}
     
    	//-----
    	public Component getLastComponent(Container c) {
    		int i = components.size() - 1;
    		if (i >= 0) {
    			return (Component) components.elementAt(i);
    		} else
    			return null;
    	}
     
    	//-----
    	public Component getComponentBefore(Container c, Component comp) {
    		int i = 0;
    		boolean found = false;
    		while (!found && i < components.size()) {
    			Component test = (Component) components.elementAt(i);
    			found = (test == comp);
    		}
    		if (i > 0)
    			return (Component) components.elementAt(i - 1);
    		else
    			return getLastComponent(null);
    	}
    }
    Ensuite, dans ton code, tu fais comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
     
    FocusPolicy fpolicy = new FocusPolicy();
    fpolicy.addComponent( jTextField2);
    fpolicy.addComponent( jTextField1);
    fpolicy.addComponent( jTextField3);			
    .
    .  //En fait tu ajoutes tes composants ds l'ordre ou tu veux qu'ils prennent le focus...
    .
    .
     
    toncomposant.setFocusTraversalPolicy(fpolicy);
    Voilà, et si tu veux plus de détails, tt ça vient de :
    http://www.fawcette.com/javapro/2002_12/magazine/columns/javatecture/default.aspx

    Mais comme je sais bien que c parfois chiant de se taper l'article jt'ai mis le tit exemple ;-)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 3
    Par défaut
    merci beaucoup pour cette réponse qui va bien m'aider !

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

Discussions similaires

  1. [Swing]JTable- Dimensionner les colonnes
    Par loutfi dans le forum Composants
    Réponses: 12
    Dernier message: 01/07/2011, 08h50
  2. swing et jbuilder
    Par lassale dans le forum JBuilder
    Réponses: 3
    Dernier message: 31/10/2003, 19h28
  3. [swing] probleme de memoire
    Par leBigouden dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 23/05/2003, 14h19
  4. [SWING]jTable + Focus
    Par chady dans le forum Composants
    Réponses: 5
    Dernier message: 27/02/2003, 14h51
  5. [SWING][FONT] choisir la police par défaut
    Par narmataru dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 21/02/2003, 10h35

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