假设我的表格有4列
jTable.getColumnModel().getColumn(0).setPreferredWidth(80);
jTable.getColumnModel().getColumn(1).setPreferredWidth(80);
jTable.getColumnModel().getColumn(2).setPreferredWidth(120);
jTable.getColumnModel().getColumn(3).setPreferredWidth(460);
它就会自动的按后面设置的比例调整列宽了,表格有几列就要把这几列的PreferredWidth都设置一下,不然没效果。如果你不把4列都写完,又想表格按你的PreferredWidth显示,需要将“自动调整模式”关闭就OK。
jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
不过,关了这个之后,当你的页面放大的时候,如果你设置的PreferredWidth加起来都没有你放大的页面大的时候,下面的列就不会跟着变,然后就很难看了。
所以,直接将有多少列就设置多少列让JTable自动按比例就OK了。