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 :

Problème étiquette JTabbedPane


Sujet :

AWT/Swing Java

  1. #21
    Membre éclairé Avatar de Liquidsoul
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 51
    Par défaut
    Citation Envoyé par croc14
    Ben l'idée bien que effémaire était de récupéré l'élément sensible de l'ancien onglet et de le mettre sur le nouveau.


    Je ne sais pas dutout comment le tabbedpane sais que l'on a cliqué sur tel ou tel onglet. Perso j'aurais ajouté une action sur chaque onglet qui n'est autre que celle qui met en avant le bon panel (et je pense que c'est le plus logique).
    Donc peux être y a t'il moyen de récupéré cette action.
    L'idée que j'ai eu pour solutionner mon problème de clic sur un tab a été d'associer le numéro d'onglet au Component placé dans le tab via la fonction setTabComponentAt.
    C'est à dire que j'ai accroché à mon Component de tab un mouseListener. Ce mouseListener, en récupérant l'évènement mousePressed, n'avait qu'à appeler le getter de mon Component lui permettant d'avoir le numéro du tab appuyé puis à dire au JTabbedPane de switcher vers ce numéro.
    Voici un p'tit bout de code exposant l'idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    MonComponent my_tab = new MonComponent( indice_tab );
    my_tab.addMouseListener( this );
    tabbedPane.setTabComponentAt( indice_tab, my_tab );
    ....
     
    public void mousePressed( MouseEvent evt )
    {
        MonComponent tab = (MonComponent)evt.getComponent();
        tabbedPane.setSelectedIndex( tab_label.getTabNumber() );
    }
    Après j'avais demandé sur les forums de Sun si il n'y avait pas une meilleure méthode que celle que je t'ai présentée et je n'ai pas vraiment eu de réponse à part : "ne le fait pas alors"

    Pour ce qui est de ton autre problème, d'après moi, ce qu'il faut retenir sur les JTabbedPane avec un tab personnalisé il ne faut pas démultiplier les tooltiptext et autres sur le tab (le Component) et via le JTabbedPane (via les méthode "set...At" )

  2. #22
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    Bon ben ok merci. Encore un truc programmé comme je ne sais quoi !!!

    Pour l'histoire des lookandfeel, c'est au cas par cas les problème ?




    Sinon avec swt, c'est plus facile de développer ou c'est pareil ?

  3. #23
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    je suis de nouveau sur mon onglet là !!!

    Je vien de voir un truc. Avec le lookandfeel de windows, il y a une barre orancge qui apparait, et le dégradé du font change un peu lorsque l'on survole un onglet.
    Du coup, la ca ne le fais plus, et la solution du numéro du tab ne va rien y changer.


    C'est pas un problème de LPanel qui récupère un focus ou un autre truc comme ca ? (désolé ce genre de chose, j'y suis pas habituer).
    Si on dis que cet objet n'as pas a recupéré cet action, il ne doit pas le passer au suivant ?
    Il me semble avoir lu quelque part que java envoie l'évènement dans une pile et que 'est le premier qui y est sensible qui le récupère (ce qui est logique). Donc si on lui du ... "tu passe au suivant" ca devrait le faire non ?

    Du coup ca expliquerais pourquoi le toolTip est également rétisant.

    Bon j'ai tenté setFocussable(false) sans succés. Mais je ne sais pas si c'est celui ci.

  4. #24
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    bon ben voila, ca marche.

    Enfin presque, au problème de lookandfeel près.

    Mais si j'ai pas de news dans ce sujet, j'en créerais un spécial car il y a d'autre effet qui me dérange.

    Merci a ceux qui m'on aidé (ou tenté).

    La solution retenu, c'est de conservé dans le JTabX 2 variable membre suplémentaire (une pour la couleur et un pour le texte du tooltip).
    Lorsque je remplace l'onglet, je met le nouveau JPanel (qui n'a surtout pas recu de JToolTipText). Et on lie le texte du tooltip avec setToolTipAt(getMonText()). Ainsi, en changeant la variable membre, grace a la référence on change aussi le texte.

    pour la couleur, il est nécessaire de changer avec SetBackgroundAt a chaque fois (la reference ne marche pas [peut être un problème car il faut forcer le repaint !!!]!!!)


    Donc avec ca, j'ai un onglet avec tooltip variable, avec bouton qui ferme, avec icone perso qui change et couleur de font qui change en orange like MSN.

Discussions similaires

  1. [XL-2003] Diagramme de points: problème étiquette
    Par mimilll dans le forum Excel
    Réponses: 1
    Dernier message: 29/10/2009, 20h39
  2. j'ai un problème avec JTabbedPane
    Par minooo dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 19/12/2007, 12h59
  3. problème avec jTabbedpane
    Par wael.dz dans le forum NetBeans
    Réponses: 1
    Dernier message: 17/03/2007, 19h27
  4. Problèmes avec JTabbedPane
    Par Baptiste Wicht dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 06/01/2006, 18h56

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