publicclassTextAreaCellRendererextendsJTextAreaimplements
TableCellRenderer...{

publicTextAreaCellRenderer()...{
setLineWrap(true);
setWrapStyleWord(true);
}
publicComponentgetTableCellRendererComponent(JTabletable,Objectvalue,
booleanisSelected,booleanhasFocus,introw,intcolumn)...{
//计算当下行的最佳高度
intmaxPreferredHeight=0;
for(inti=0;i<table.getColumnCount();i++)...{
setText(""+table.getValueAt(row,i));
setSize(table.getColumnModel().getColumn(column).getWidth(),0);
maxPreferredHeight=Math.max(maxPreferredHeight,
getPreferredSize().height);
}
if(table.getRowHeight(row)!=maxPreferredHeight)//少了这行则处理器瞎忙
table.setRowHeight(row,maxPreferredHeight);
setText(value==null?"":value.toString());
returnthis;
}
}
本文介绍了一个自定义的表格单元格渲染器实现,该渲染器能够自动调整行高以适应多行文本显示的需求,并确保文本能够正确换行。
4949

被折叠的 条评论
为什么被折叠?



