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

Interfaces Graphiques en Java Discussion :

Focus et autres complications


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2003
    Messages : 28
    Points : 19
    Points
    19
    Par défaut Focus et autres complications
    Bonjour à tous,

    j'ai un ptit problème à résoudre.

    J'ai une JFrame composé de plein de composants.

    Au milieu de tout cela, j'ai un JPanel qui s'ouvre suite à une action de l'utilisateur. Ce JPanel contient un ensemble de composants formant un formulaire.

    Le problème est le suivant :

    J'aimerai :

    1) Pouvoir spécifier que tel composant de ce JPanel (ou un sous-composant de ce JPanel) prenne le Focus lors de l'affichage du JPanel.

    2) Que le Cycle de focus ne contienne que les composants de ce JPanel.


    Je m'explique :

    Ce JPanel qui est affiché suite à une action est en fait composé lui-même de JPanel qui eux même sont composé de JPanel....et ainsi de suite jusqu'à arriver à des composants style JComboBox, JTextField, JTextArea, etc. Au final, graphiquement, cela donne un joli formulaire tout beau.

    1) J'aimerai pouvoir spécifier lors de l'affichage de ce JPanel que je veux que tel composant de bas niveau (JCombo, TextField, etc) prenne le Focus). Actuellement, c pas le cas, c complètement aléatoire.

    2) Que lorsque la personne fait TAB, le focus se pointe sur le composant suivant, et ainsi de suite mais qu'une foit arrivé au dernier composant du JPanel, celui-ci reparte sur le composant du JPanel. Je ne veux pas que le focus parte dans un composant en dehors de ce JPanel, ce qui est le cas actuellement.

    Messieur les développeurs, si vous avez des idées, je suis plus que preneur.

    Merci

  2. #2
    Membre confirmé

    Inscrit en
    Juillet 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 116
    Points : 514
    Points
    514
    Par défaut
    Regarde dans l'api Java, la classe : java.awt.FocusTraversalPolicy

    Je pense qu'elle répondra à ton bonheur.

    La classe fille java.awt.ContainerOrderFocusTraversalPolicy te permettera d'inhiber ou d'accepter le focus sur tel ou tel composant graphique grâce à sa méthode accept() qu'il faut surcharger ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Points : 432
    Points
    432
    Par défaut
    Tu dois pouvoir le faire un FocusListener.
    Cette interface possède deux methode : celle qui est appellé quand le composant gagne le focus et une autre quand il le perd.
    Il suffirai donc pour chaque composant de lui dire à quel composant donner le focus quand il le perd.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2003
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    Merci pour vos réponses.

    Le problème de la seconde solution est qu'elle m'oblige à implémenter pour chacun de mes composants FocusListener...un peu lourd et pas vraiment la politique Java en terme de gestion des cycles de Focus.


    Concernant la première solution, je regarde en ce moment.

    Je ferai un FeedBack d'ic peu.


    Si il y a d'autres solutions, je suis preneur.

    Encore merci

Discussions similaires

  1. Passer le focus à une autre fenêtre.
    Par bertrand125 dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 13/04/2015, 12h26
  2. Firefox : Donner focus à un autre onglet
    Par marinew dans le forum Général JavaScript
    Réponses: 23
    Dernier message: 19/03/2012, 14h44
  3. Comment basculer le focus depuis une autre form ?
    Par altahir007 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 03/09/2003, 15h54
  4. Réponses: 2
    Dernier message: 09/07/2003, 14h10

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