轉帖|其它|編輯:郝浩|2011-04-28 13:54:38.000|閱讀 1304 次
概述:本文主要介紹如何調整JTable的單元格寬度,希望對大家有幫助。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
1.BWStatTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
2. for (int i = 0; i < BWStatTable.getColumnCount(); i++) {
3. TableColumn tc = BWStatTable.getColumn(BWStatTable.
4. getColumnName(i));
5. int c = tc.getModelIndex();
6. int width = 0;
7. int maxw = 0;
8. for (int r = 0; r < BWStatTable.getRowCount(); ++r) {
9. TableCellRenderer renderer = BWStatTable.
10. getCellRenderer(r, c); //得到每個單元格的渲染器
11. Component comp = renderer.getTableCellRendererComponent(
12. BWStatTable, "", false, false,
13. r, c);
14. width = comp.getPreferredSize().width;
15. maxw = width > maxw ? width : maxw;
16. }
17. TableCellRenderer headRenderer = tc.getHeaderRenderer(); //得到每列中的表頭渲染器
18. if (headRenderer == null) {
19. headRenderer = BWStatTable.getTableHeader(). //得到表頭中的表頭渲染器
20. getDefaultRenderer();
21. }
22. Component comp = headRenderer.getTableCellRendererComponent(
23. BWStatTable, tc.getHeaderValue(), false, false, 0,
24. i);
25. int w = comp.getPreferredSize().width;
26. maxw = w > maxw ? w : maxw;
27. if (BWStatTable.getColumnCount() == 2) {
28. tc.setMinWidth(maxw + 20);
29. tc.setPreferredWidth(maxw + 160);
30. }
31. if (BWStatTable.getColumnCount() == 3) {
32. tc.setMinWidth(maxw + 20); //列設置寬度
33. tc.setPreferredWidth(maxw + 70);
34. }
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載