Projet gus05 de développement Java
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -39%
Pack Home Cinéma Magnat Monitor : Ampli DENON ...
Voir le deal
1190 €

Doter une JTable d'un tooltip

Aller en bas

Doter une JTable d'un tooltip Empty Doter une JTable d'un tooltip

Message  Gus Jeu 3 Sep - 4:54

Voici une entité qui permet de doter n'importe quel objet JTable d'une fonctionnalité de tooltip qui fait afficher dans une bulle le contenu de chaque cellule du tableau lorsque vous passez la souris dessus.

gus.graphic.table.tooltip

Cette entité comporte deux classes dont le code source est donné ci-dessous :

Code:
package gus05.entity.gus.graphic.table.tooltip;

import gus05.framework.core.Entity;
import gus05.framework.features.Give;
import javax.swing.JTable;

public class TableTooltip implements Entity, Give {
   
    public String getName()         {return "gus.graphic.table.tooltip";}
    public String getCreationDate()      {return "2006.07.15";}

    public void give(Object obj) throws Exception
    {
        JTable table = (JTable)obj;
        new TooltipHandler(table);
    }
}

Code:
package gus05.entity.gus.graphic.table.tooltip;

import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JTable;

class TooltipHandler extends MouseMotionAdapter {

    private JTable table;

    public TooltipHandler(JTable table)
    {
        super();
        this.table = table;
        table.addMouseMotionListener(this);
    }
   
    public void mouseMoved(MouseEvent evt)
    {
        Point p = evt.getPoint();
       
        int x = table.rowAtPoint(p);
        int y = table.columnAtPoint(p);
       
        //if(x!=-1 && y!=-1)
        if(table.getValueAt(x,y)!=null)
        table.setToolTipText(table.getValueAt(x,y).toString());
        else table.setToolTipText(null);
       
        if(table.getColumnName(y)!=null)
        table.getTableHeader().setToolTipText(table.getColumnName(y));
        else table.getTableHeader().setToolTipText(null);
    }
}
Gus
Gus
Admin

Messages : 249
Date d'inscription : 01/09/2009

http://www.gus05.com

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum