我有一个JTable,其中一列偶尔会有相当数量的文本。我们使用一些算法将每行的高度扩展到最高的单元格。问题是长文本单元格我们得到“胖”行。
它看起来像这样:
============================= | Col1 | Col2 | This is some| | | | very long | | | | text! | =============================
我考虑了几个解决方案:
有没有人知道任何修复此问题的库?我愿意使用其他一些技术......我不相信我的解决方案是最好的。
提前致谢!
答案 0 :(得分: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();
}
};
或者如果仅针对某些列,则可以使用渲染器设置工具提示文本。请参阅Specifying Tool Tips for Cells。
答案 1 :(得分:0)
我花了一些时间来了解如何在Netbeans上显示工具提示,但您的回答非常有帮助。 这里是在netbeans GUI Builder上实现的...... 右键单击您的Jtable->自定义代码。 选择“自定义创建”所在的新“javax.swing.JTable();”代码是在半冒号之前;添加以下答案的代码......看起来像这样:
YourTable = new javax.swing.JTable(){
//add tooltip to display the full cell text when not displayed
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();
}
}
;