Java:JTable中的内容自动换行
星期日, 三月 29th, 2009
有时需要将JTable中过长的内容自动换行显示,使得用户不需要滚动水平滚动条来 看查看被隐藏的内容。默认的JTable也不支持该功能,我们可以通过继承JTextArea并定义自己的TableCellRender来支持该功 能。(部分思想参考自CodeGrue) 首先我们自定义的该类需要继承JTextArea,并实现TableCellRender接口。 class CustomTableCellRender extends JTextArea implements TableCellRenderer { public CustomTableCellRender() { super(); setLineWrap(true); setWrapStyleWord(true); setOpaque(true); } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { setText((value == null) ? “” : value.toString()); return this;//以JTextArea对象返回cell } } /* 需要在添加完数据后设置该行数据的实际高度, 这个高度要根据实际内容和表宽来计算得出 */ getJTable().setRowHeight(0, getJTable().getRowHeight() * (i%3+1)); } } [...]
Read More..>>