我不希望JTable截断带有省略号的文本

时间:2013-07-04 14:39:18

标签: java swing jtable truncate preferredsize

这是我的问题:我正在使用JTable并制作了自己的AbstractTableModel。到现在为止还挺好。当文本太长时,单元格渲染器将截断文本并显示省略号,但我的一些数据库注册表也有省略号。例如:我一直在学习的程序语言:

  

第一个注册表“Visual Basic(2003-2007)”
  第二个注册表“C ++(2006-2010)”
  第三个注册表“Java(2010 -...)”

意味着我在2007年停止尝试学习VB。2010年停止了C ++。我还在学习Java。但是当列不是那么大时,它会截断,有时会显示:

  

“Visual Basic(2003 -...”
  “C ++(2006-2010)”
  “Java(2010 -...)”

用户可能会感到困惑,认为“Visual Basic(2003 -...”的意思是“Visual Basic(2003 - ...)”,它的意思是“Visual Basic(2003-2007)”

很抱歉,如果我不够清楚,我希望每个人都明白,我只是希望JTable在没有省略号的情况下截断文本。

1 个答案:

答案 0 :(得分:4)

answer显示了省略号的出现方式;而不是试图击败他们,更好的方法是将您的JTable添加到一个布局,允许在调整封闭的Window时调整表格。在此example中,该表填充BorderLayout.CenterJFrame的默认值。为了更具吸引力的初始外观,

附录:虽然我不建议从可用性角度出发,但您可以省略DefaultTableCellRenderer的自定义子类中的省略号,该子类使用自定义LabelUI并覆盖layoutCL(),如显示herehere

相关问题