JTable单元 - 处理长文本

jav*_*y79 2 java user-interface swing jtable

我有一个JTable,其中一列偶尔会有相当数量的文本.我们使用一些算法将每行的高度扩展到最高的单元格.问题是长文本单元格我们得到"胖"行.

它看起来像这样:

=============================
| Col1 | Col2 | This is some|
|      |      | very long   |
|      |      | text!       |
=============================

我考虑了几个解决方案:

  • 剪切文本并添加鼠标侦听器以"展开"剪切的文本
  • 剪切文本并添加工具提示或对话框以显示额外内容

有没有人知道任何解决这个问题的库?我愿意使用其他一些技术......我不相信我的解决方案是最好的.

提前致谢!

cam*_*ckr 5

我只想使用工具提示.

您可以覆盖JTable的getToolTipText(()方法来执行此操作.

JTable table = new JTable(...)
{
    public String getToolTipText( MouseEvent e )
    {
        int row = rowAtPoint( e.getPoint() );
        int column = columnAtPoint( e.getPoint() );

        Object value = getValueAt(row, column);
        return value == null ? null : value.toString();
    }
};
Run Code Online (Sandbox Code Playgroud)

或者,如果它仅适用于某些列,则可以使用渲染器设置工具提示文本.请参阅指定单元格的工具提示.