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 :

Appliquer un setToolTipText sur un entete de colonne


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut Appliquer un setToolTipText sur un entete de colonne
    Bonjour a tous

    J'aimerais savoir comment faire pour appliquer un tooltip sur un header... J'ais essayé la chose suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            tab.getColumnModel().getColumn(5).setToolTipText(tab.getValueAt(1, 2));
    Mais il n'est pas possible de réaliser cela... les tooltip ne sont pas applicable aux headers... Comment faire... si quelqu'un a une idée... d'avance merci

  2. #2
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Pourtant, en tapant tooltip header jtable sous ton moteur de recherche, on trouve pas mal de choses intéressantes

    Lien 1

    Lien 2

    Lien 3

    Donc regarde déjà ces liens. Si aucun ne convient, poursuis avec les autres liens fournis par le moteur de recherche

  3. #3
    Membre éclairé Avatar de Spinoza23
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 328
    Par défaut
    Oups... je sais pas, j'ais commencé par la pourtant... mais je n'ais rien eu de tel... j'ais eu un lien identique a un des tiens... mais c'est un lien mort... le reste ne m'avais pas aidé... merci !!! ca marche...

    J'ais du créer une 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
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionAdapter;
    import java.util.HashMap;
    import java.util.Map;
     
    import javax.swing.JTable;
    import javax.swing.table.JTableHeader;
    import javax.swing.table.TableColumn;
    import javax.swing.table.TableColumnModel;
     
    /**
    * @author mes
    *
    * To change the template for this generated type comment go to
    * Window>Preferences>Java>Code Generation>Code and Comments
    */
    public class ColumnHeaderToolTips extends MouseMotionAdapter 
    {
        // Current column whose tooltip is being displayed.
        // This variable is used to minimize the calls to setToolTipText().
        TableColumn curCol;
     
        // Maps TableColumn objects to tooltips
        Map tips = new HashMap();
     
        // If tooltip is null, removes any tooltip text.
        public void setToolTip(TableColumn col, String tooltip) {
            if (tooltip == null) {
                tips.remove(col);
            } else {
                tips.put(col, tooltip);
            }
        }
     
        public void mouseMoved(MouseEvent evt) {
            TableColumn col = null;
            JTableHeader header = (JTableHeader)evt.getSource();
            JTable table = header.getTable();
            TableColumnModel colModel = table.getColumnModel();
            int vColIndex = colModel.getColumnIndexAtX(evt.getX());
     
            // Return if not clicked on any column header
            if (vColIndex >= 0) {
                col = colModel.getColumn(vColIndex);
            }
     
            if (col != curCol) {
                header.setToolTipText((String)tips.get(col));
                curCol = col;
            }
        }
    }

    et ensuite, j'ais fais :

    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
            tab.getTableHeader().setReorderingAllowed(false);
     
            Dimension d = tab.getTableHeader().getPreferredSize();
            d.height = 15;
            tab.getTableHeader().setPreferredSize(d);
            String inttab = (String)tab.getValueAt(1, 2);
            String numtab = (String)tab.getValueAt(1, 1);
            tab.getColumnModel().getColumn(5).setHeaderValue(inttab);
     
            JTableHeader header = tab.getTableHeader();
     
            ColumnHeaderToolTips tips = new ColumnHeaderToolTips();
     
            // Assign a tooltip for each of the columns
            for (int c=0; c<tab.getColumnCount(); c++) 
            {
                TableColumn col = tab.getColumnModel().getColumn(c);
                tips.setToolTip(col,numtab+'-'+inttab);
            }
            header.addMouseMotionListener(tips);
    biensur tout ce code est adapté a mon appli... mais je le poste quand meme, on ne sais jamais, certains pourrons etre aidé... Merci

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

Discussions similaires

  1. Activer la popup sur les entetes de colonnes d'un TcxGrid
    Par ChronikBNC dans le forum Débuter
    Réponses: 3
    Dernier message: 06/05/2015, 10h34
  2. Réponses: 0
    Dernier message: 25/05/2010, 01h43
  3. Réponses: 1
    Dernier message: 21/04/2010, 15h42
  4. Réponses: 2
    Dernier message: 12/03/2010, 10h35
  5. Réponses: 5
    Dernier message: 14/03/2008, 17h01

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