import java.awt.Point; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import javax.swing.JFrame; import javax.swing.JTable; public class Main { /** * @param args */ public static void main(String[] args) { JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JTable table = new JTable(new Object[][]{{"11", "12", "13"},{"21", "22", "23"},{"31", "32", "33"}}, new Object[]{"colonne1", "colonne2"}); table.setDefaultRenderer(Object.class, new TableRenderer()); f.add(table); table.addMouseMotionListener(new MouseMotionListener() { public void mouseMoved(MouseEvent arg0) { Point p = arg0.getPoint(); int x = table.rowAtPoint(p); int y = table.columnAtPoint(p); table.getSelectionModel().setSelectionInterval(x,x); table.setColumnSelectionInterval(y,y); } public void mouseDragged(MouseEvent arg0) { // TODO Auto-generated method stub } }); table.addMouseListener(new MouseListener() { public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub } public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } public void mouseExited(MouseEvent arg0) { table.clearSelection(); } public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub } public void mouseClicked(MouseEvent arg0) { } }); f.setSize(200, 200); f.setLocationRelativeTo(null); f.setVisible(true); } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionimport java.awt.Color; import java.awt.Component; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellRenderer; public class TableRenderer implements TableCellRenderer { private DefaultTableCellRenderer support = new DefaultTableCellRenderer(); public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component c = support.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if(hasFocus){ c.setBackground(Color.RED); } else{ c.setBackground(Color.WHITE); } return c; } }
maTable.setColumnSelectionAllowed(true); maTable.setRowSelectionAllowed(true);