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