每次插入行时,我在调整jtable
的高度时遇到问题。我尝试对表和表的setsize()
使用setPreferredScrollableViewportsize()
和scrollpane
。布局管理器可能有问题吗?
在插入每一行时,我也尝试增加jpanel
的大小。顺便说一句,表格位于面板中,而该面板位于jDialog
中。我正在NetBeans中使用免费设计进行UI构建。
答案 0 :(得分:0)
尝试以下操作...但是请确保您的可编辑选项为假!
DefaultTableModel model = (DefaultTableModel)table.getModel();
table.setModel(model);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
final TableColumnModel colModel = table.getColumnModel();
for(int column=0; column<table.getColumnCount();column++){
int width = 15;
for(int row=0; row<table.getRowCount();row++){
TableCellRenderer render = table.getCellRenderer(row, column);
Component component = table.prepareRenderer(render, row, column);
width = Math.max(component.getPreferredSize().width+1, width);
}
if(width>300){
width = 300;
colModel.getColumn(column).setPreferredWidth(width);
}
}