Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jocelyn
Salut ! Il me semble que par defaut les JPanel ne recoivent pas le focus car leur propriete focusable est a false. Donc il te faut deja faire un monPanneau.setFocusable(true) pour que le listener que tu mettras dessus soit d'une quelconque utilite.
"Olivier Pierrier" a écrit dans le message news: c0d2i0$15i1q3$
Bonjour à tous,
J'ai le problème suivant : un JPanel(A) contient un JLabel, des CheckBox et divers JTextComponent.
Je souhaite pouvoir ajouter un FocusListener à A. le problème c'est que si un des autes composants inclus est focusable, je ne recois pas d'évènement.
Une solutions serait de faire que A soit FocusListener de tous des enfants, mais ca me semble un peu lourd comme solution.
Salut !
Il me semble que par defaut les JPanel ne recoivent pas le focus car leur
propriete focusable est a false.
Donc il te faut deja faire un monPanneau.setFocusable(true) pour que le
listener que tu mettras dessus soit
d'une quelconque utilite.
"Olivier Pierrier" <opr@inxnet.de> a écrit dans le message news:
c0d2i0$15i1q3$1@ID-201208.news.uni-berlin.de...
Bonjour à tous,
J'ai le problème suivant : un JPanel(A) contient un JLabel, des CheckBox
et divers JTextComponent.
Je souhaite pouvoir ajouter un FocusListener à A. le problème c'est que
si un des autes composants inclus est focusable, je ne recois pas
d'évènement.
Une solutions serait de faire que A soit FocusListener de tous des
enfants, mais ca me semble un peu lourd comme solution.
Salut ! Il me semble que par defaut les JPanel ne recoivent pas le focus car leur propriete focusable est a false. Donc il te faut deja faire un monPanneau.setFocusable(true) pour que le listener que tu mettras dessus soit d'une quelconque utilite.
"Olivier Pierrier" a écrit dans le message news: c0d2i0$15i1q3$
Bonjour à tous,
J'ai le problème suivant : un JPanel(A) contient un JLabel, des CheckBox et divers JTextComponent.
Je souhaite pouvoir ajouter un FocusListener à A. le problème c'est que si un des autes composants inclus est focusable, je ne recois pas d'évènement.
Une solutions serait de faire que A soit FocusListener de tous des enfants, mais ca me semble un peu lourd comme solution.
Salut ! Il me semble que par defaut les JPanel ne recoivent pas le focus car leur propriete focusable est a false. Donc il te faut deja faire un monPanneau.setFocusable(true) pour que le listener que tu mettras dessus soit d'une quelconque utilite.
C'est déjà fait, le problème est que si monPanneau contient un JTextField(JT), monPanneau ne génère pas d'évènement quand Jt perd le focus pour un Composant externe à monPanneau, c'est ce que je souhaiterai :
------------------------------------- - panneau A - ------------------------------------- ------------------------------------- - panneau B - - -------------------------------- - - - TextField T - - - -------------------------------- - -------------------------------------
Probleme : T à le focus, je clique sur A, B ne génère pas de focusLost
Olivier
Salut,
jocelyn wrote:
Salut !
Il me semble que par defaut les JPanel ne recoivent pas le focus car leur
propriete focusable est a false.
Donc il te faut deja faire un monPanneau.setFocusable(true) pour que le
listener que tu mettras dessus soit
d'une quelconque utilite.
C'est déjà fait, le problème est que si monPanneau contient un
JTextField(JT), monPanneau ne génère pas d'évènement quand Jt perd le
focus pour un Composant externe à monPanneau, c'est ce que je
souhaiterai :
-------------------------------------
- panneau A -
-------------------------------------
-------------------------------------
- panneau B -
- -------------------------------- -
- - TextField T - -
- -------------------------------- -
-------------------------------------
Probleme : T à le focus, je clique sur A, B ne génère pas de focusLost
Salut ! Il me semble que par defaut les JPanel ne recoivent pas le focus car leur propriete focusable est a false. Donc il te faut deja faire un monPanneau.setFocusable(true) pour que le listener que tu mettras dessus soit d'une quelconque utilite.
C'est déjà fait, le problème est que si monPanneau contient un JTextField(JT), monPanneau ne génère pas d'évènement quand Jt perd le focus pour un Composant externe à monPanneau, c'est ce que je souhaiterai :
------------------------------------- - panneau A - ------------------------------------- ------------------------------------- - panneau B - - -------------------------------- - - - TextField T - - - -------------------------------- - -------------------------------------
Probleme : T à le focus, je clique sur A, B ne génère pas de focusLost
Olivier
Sébastien BALLET
Salut
"Olivier Pierrier" a écrit dans le message de news: c0d5rv$15aa8i$
Salut,
jocelyn wrote:
Salut ! Il me semble que par defaut les JPanel ne recoivent pas le focus car leur
propriete focusable est a false. Donc il te faut deja faire un monPanneau.setFocusable(true) pour que le listener que tu mettras dessus soit d'une quelconque utilite.
C'est déjà fait, le problème est que si monPanneau contient un JTextField(JT), monPanneau ne génère pas d'évènement quand Jt perd le focus pour un Composant externe à monPanneau, c'est ce que je souhaiterai :
------------------------------------- - panneau A - ------------------------------------- ------------------------------------- - panneau B - - -------------------------------- - - - TextField T - - - -------------------------------- - -------------------------------------
Probleme : T à le focus, je clique sur A, B ne génère pas de focusLost
Si tu bosses avec un JDK < 1.4, j'ai pas de solution en tête. Par contre, Si tu bosses avec un JDK >= 1.4, tu as la méthode FocusEvent.getOppositeComponent() qui permet d'obtenir le composant : * ayant perdu le focus dans le cas d'un FOCUS_GAINED * ayant obtenu le focus dans le cas d'un FOCUS_LOST
A+
Seb
Salut
"Olivier Pierrier" <opr@inxnet.de> a écrit dans le message de news:
c0d5rv$15aa8i$1@ID-201208.news.uni-berlin.de...
Salut,
jocelyn wrote:
Salut !
Il me semble que par defaut les JPanel ne recoivent pas le focus car
leur
propriete focusable est a false.
Donc il te faut deja faire un monPanneau.setFocusable(true) pour que le
listener que tu mettras dessus soit
d'une quelconque utilite.
C'est déjà fait, le problème est que si monPanneau contient un
JTextField(JT), monPanneau ne génère pas d'évènement quand Jt perd le
focus pour un Composant externe à monPanneau, c'est ce que je
souhaiterai :
-------------------------------------
- panneau A -
-------------------------------------
-------------------------------------
- panneau B -
- -------------------------------- -
- - TextField T - -
- -------------------------------- -
-------------------------------------
Probleme : T à le focus, je clique sur A, B ne génère pas de focusLost
Si tu bosses avec un JDK < 1.4, j'ai pas de solution en tête. Par contre, Si
tu bosses avec un JDK >= 1.4, tu as
la méthode FocusEvent.getOppositeComponent() qui permet d'obtenir le
composant :
* ayant perdu le focus dans le cas d'un FOCUS_GAINED
* ayant obtenu le focus dans le cas d'un FOCUS_LOST
"Olivier Pierrier" a écrit dans le message de news: c0d5rv$15aa8i$
Salut,
jocelyn wrote:
Salut ! Il me semble que par defaut les JPanel ne recoivent pas le focus car leur
propriete focusable est a false. Donc il te faut deja faire un monPanneau.setFocusable(true) pour que le listener que tu mettras dessus soit d'une quelconque utilite.
C'est déjà fait, le problème est que si monPanneau contient un JTextField(JT), monPanneau ne génère pas d'évènement quand Jt perd le focus pour un Composant externe à monPanneau, c'est ce que je souhaiterai :
------------------------------------- - panneau A - ------------------------------------- ------------------------------------- - panneau B - - -------------------------------- - - - TextField T - - - -------------------------------- - -------------------------------------
Probleme : T à le focus, je clique sur A, B ne génère pas de focusLost
Si tu bosses avec un JDK < 1.4, j'ai pas de solution en tête. Par contre, Si tu bosses avec un JDK >= 1.4, tu as la méthode FocusEvent.getOppositeComponent() qui permet d'obtenir le composant : * ayant perdu le focus dans le cas d'un FOCUS_GAINED * ayant obtenu le focus dans le cas d'un FOCUS_LOST
A+
Seb
Olivier Pierrier
Salut,
------------------------------------- - panneau A - ------------------------------------- ------------------------------------- - panneau B - - -------------------------------- - - - TextField T - - - -------------------------------- - -------------------------------------
Si tu bosses avec un JDK < 1.4, j'ai pas de solution en tête. Par contre, Si tu bosses avec un JDK >= 1.4, tu as la méthode FocusEvent.getOppositeComponent() qui permet d'obtenir le composant : * ayant perdu le focus dans le cas d'un FOCUS_GAINED * ayant obtenu le focus dans le cas d'un FOCUS_LOST
Ca semble la solution la plus simple effectivement, je vais donc faire de la facon suivante, un listener(Component, hierarchie, je sais plus ) sur b pour choper tous ces enfants, a chaque enfant focusable ajouter un focus listener et verifier si le focus entre/sort de facon generale dans B avec la methode FocusEvent.getOppositeComponent.
Je devrais obtenir l'effet souhaiter, mais n'empeche que ca fais beaucoup de listeners et d'instance pour une fonctionalite qui me semble basique.
Merci a tous,
Olivier.
Salut,
-------------------------------------
- panneau A -
-------------------------------------
-------------------------------------
- panneau B -
- -------------------------------- -
- - TextField T - -
- -------------------------------- -
-------------------------------------
Si tu bosses avec un JDK < 1.4, j'ai pas de solution en tête. Par contre, Si
tu bosses avec un JDK >= 1.4, tu as
la méthode FocusEvent.getOppositeComponent() qui permet d'obtenir le
composant :
* ayant perdu le focus dans le cas d'un FOCUS_GAINED
* ayant obtenu le focus dans le cas d'un FOCUS_LOST
Ca semble la solution la plus simple effectivement, je vais donc faire
de la facon suivante,
un listener(Component, hierarchie, je sais plus ) sur b pour choper tous
ces enfants,
a chaque enfant focusable ajouter un focus listener
et verifier si le focus entre/sort de facon generale dans B avec la
methode FocusEvent.getOppositeComponent.
Je devrais obtenir l'effet souhaiter, mais n'empeche que ca fais
beaucoup de listeners et d'instance pour une fonctionalite qui me semble
basique.
------------------------------------- - panneau A - ------------------------------------- ------------------------------------- - panneau B - - -------------------------------- - - - TextField T - - - -------------------------------- - -------------------------------------
Si tu bosses avec un JDK < 1.4, j'ai pas de solution en tête. Par contre, Si tu bosses avec un JDK >= 1.4, tu as la méthode FocusEvent.getOppositeComponent() qui permet d'obtenir le composant : * ayant perdu le focus dans le cas d'un FOCUS_GAINED * ayant obtenu le focus dans le cas d'un FOCUS_LOST
Ca semble la solution la plus simple effectivement, je vais donc faire de la facon suivante, un listener(Component, hierarchie, je sais plus ) sur b pour choper tous ces enfants, a chaque enfant focusable ajouter un focus listener et verifier si le focus entre/sort de facon generale dans B avec la methode FocusEvent.getOppositeComponent.
Je devrais obtenir l'effet souhaiter, mais n'empeche que ca fais beaucoup de listeners et d'instance pour une fonctionalite qui me semble basique.