1 package org.columba.mail.gui.table; 17 18 import java.awt.event.MouseEvent ; 19 import java.awt.event.MouseMotionAdapter ; 20 import java.util.HashMap ; 21 import java.util.Map ; 22 23 import javax.swing.JTable ; 24 import javax.swing.table.JTableHeader ; 25 import javax.swing.table.TableColumn ; 26 import javax.swing.table.TableColumnModel ; 27 28 29 34 public class ColumnHeaderTooltips extends MouseMotionAdapter { 35 private TableColumn curCol; 38 39 private Map tips = new HashMap (); 41 42 public void setToolTip(TableColumn col, String tooltip) { 44 if (tooltip == null) { 45 tips.remove(col); 46 } else { 47 tips.put(col, tooltip); 48 } 49 } 50 51 public void mouseMoved(MouseEvent evt) { 52 TableColumn col = null; 53 JTableHeader header = (JTableHeader ) evt.getSource(); 54 JTable table = header.getTable(); 55 TableColumnModel colModel = table.getColumnModel(); 56 int vColIndex = colModel.getColumnIndexAtX(evt.getX()); 57 58 if (vColIndex >= 0) { 60 col = colModel.getColumn(vColIndex); 61 } 62 63 if (col != curCol) { 64 header.setToolTipText((String ) tips.get(col)); 65 curCol = col; 66 } 67 } 68 69 public void clear() { 70 tips.clear(); 71 } 72 } 73 | Popular Tags |