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 : -50%
-50% Baskets Nike Dunk Low
Voir le deal
64.99 €

Doter une JTable d'une sélection instantanée sur les lignes

Aller en bas

Doter une JTable d'une sélection instantanée sur les lignes Empty Doter une JTable d'une sélection instantanée sur les lignes

Message  Gus Ven 4 Sep - 3:56

Voici une entité qui permet de doter n'importe quel objet JTable d'une fonctionnalité de sélection instantanée sur les lignes. Les lignes du tableau sont automatiquement sélectionnées lorsque vous passez la souris dessus.

gus.graphic.table.instantselection.row1

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

Code:
package gus05.entity.gus.graphic.table.instantselection.row1;

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

public class InstantSelectionRow1 implements Entity, Give {

    public String getName()      {return "gus.graphic.table.instantselection.row1";}
    public String getCreationDate()   {return "2008.10.16";}

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

Code:
package gus05.entity.gus.graphic.table.instantselection.row1;

import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JTable;

class SelectionHandler implements MouseListener, MouseMotionListener  {

    private JTable table;

    public SelectionHandler(JTable table)
    {
        super();
        this.table = table;
       
        table.addMouseListener(this);
        table.addMouseMotionListener(this);
    }
   
    public void mouseMoved(MouseEvent evt)
    {
        Point p = evt.getPoint();
        int x = table.rowAtPoint(p);
        table.getSelectionModel().setSelectionInterval(x,x);
    }
   
    public void mouseExited(MouseEvent e)
    {
       table.clearSelection();
    }
   
   public void mouseClicked(MouseEvent e) {}
   public void mouseEntered(MouseEvent e) {}
   public void mousePressed(MouseEvent e) {}
   public void mouseReleased(MouseEvent e) {}
   public void mouseDragged(MouseEvent e) {}
}
Gus
Gus
Admin

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

http://www.gus05.com

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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