At times, the width of a table column is so constrained that it obscures the data. Sometimes, the data is obscured because data itself too large for the cell. To alleviate this problem, you can use a MouseMotionListener to tap the mouse motion event and display the necessary data. So when the user brings the mouse cursor over a cell, the data in that cell is taken and displayed as a tooltip.
The following code sets the tooltip for the second column in a table. If the mouse cursor is moved over any other column, the tooltip is not displayed at all.
table.addMouseMotionListener(new MouseMotionAdapter() { public void mouseMoved(MouseEvent me) { int iRow = table.rowAtPoint(me.getPoint()); int iCol = table.columnAtPoint(me.getPoint()); if((iRow < 0) || (iCol < 0)) return; String toolTip = (String)table.getValueAt(iRow,iCol); if(iCol == 2) { table.setToolTipText(toolTip); } else { toolTip = null; table.setToolTipText(toolTip); } }});
Some values, like the Column number have been hard-coded in the interest of brevity.