private float[] cwidth = { 0.1f, 0.3f, 0.3f, 0.2f, 0.1f };
setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
for (int i = 0; i < cwidth.length; i++) {
getColumnModel().getColumn(i).setPreferredWidth((int) (getPreferredScrollableViewportSize().width * cwidth[i]));
}
我有以下问题:设置TableColumn来的宽度动态
我有5列一个JTable。第一个是3位数字,第二个是字符串,然后是JProgressBar,另一个字符串和一个按钮。
现在我希望他们有宽度取决于表的大小。在上面你可以看到我的实际尝试,但这不起作用。
我已经搜索了网页,但是我发现并没有帮助我,因为它总是将大小设置为非动态大小。
我希望你能帮助我。
感谢您的帮助。我喜欢这一面!
这里我的解决办法:
for (int i = 0; i < cwidth.length; i++) {
getColumnModel().getColumn(i).setPreferredWidth((int) (600 * cwidth[i]));
getColumnModel().getColumn(i).setMinWidth((int) (100 * cwidth[i]));
getColumnModel().getColumn(i).setMaxWidth((int) (1000 * cwidth[i]));
}
+1太实用的方式,非常复杂,恐怕 – mKorbel 2012-02-29 12:54:15
好的,谢谢我会尽力去看看会发生什么,虽然我有类似的尝试,但没有帮助。 – NotANormalNerd 2012-02-29 13:48:03