我尝试使用此代码:
class MyTable extends JTable {
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row,
int column) {
Component component = super.prepareRenderer(renderer, row, column);
int rendererWidth = component.getPreferredSize().width;
TableColumn tableColumn = getColumnModel().getColumn(column);
tableColumn
.setPreferredWidth(Math.max(rendererWidth
+ getIntercellSpacing().width,
tableColumn.getPreferredWidth()));
return component;
}
直到我添加此代码才能正常工作:
setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
现在它不起作用。但我需要这行代码。有可能解决我的问题吗?
UPD: setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
列未按内容延伸。它看起来像是::
这个问题有很多不同之处:How can I get the correct JTable width?。在这个问题中,我想了解如何获得表格宽度。现在我想通过内容在JTable中修改列。看看图片。文本不适合列。我想了解如何解决它。