JTable中让某一列的值以tip提示的形式显示出来

因为在项目中碰到表格的某一列的值有时候会长的有些另类,导致不能看全其中的内容。

很简单的场景:当鼠标移动到表格的目标列时,将该单元格的内容以tip提示的形式显示,鼠标一离开该单元格,tip提示立刻消失。

 

当时想,可能要用鼠标事件,然后用table设置tip提示,结果只能完成一半的效果,果断放弃。然后想到用渲染器器,

渲染器会将表格中的每个单元格都进行渲染。这样在table里用下面写的渲染器设置为默认的渲染器,就可以了。

table的鼠标事件都不用了。

 

import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

public class MyRenderer extends DefaultTableCellRenderer
{
 /**
  *
  */
 private static final long serialVersionUID = 1L;

 
 @Override
 public Component getTableCellRendererComponent(JTable table, Object value,
   boolean isSelected, boolean hasFocus, int row, int column)
 {
  super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
    row, column);
  
  if (column == 4 && !"".equals(value.toString()))
  {
   setToolTipText(value.toString());
  }
  else
  {
   setToolTipText(null);
  }
  return this;
 }
 
}

你可能感兴趣的:(JTable中让某一列的值以tip提示的形式显示出来)