我有一個放置在JPanel中的JTable,然後將它放置在另一個具有ScrollPane的JPanel的JFrame中。如果解釋混亂,可以在下面看到總體思路。我已經將我的JTable設置爲自動調整最後一列的大小,但它從不自動調整大小。問題是什麼?JTable不會自動調整最後一列的大小
的JFrame - >的JPanel - >的JTable
- >的JPanel - >滾動窗格
我的代碼:
this
是指我的課延伸JFrame
this.setLayout(new BorderLayout());
JTextArea log = new JTextArea(20, 50);
log.setEditable(false);
JScrollPane logScrollPane = new JScrollPane(log);
String[] configRow = {"Config File", "Not Loaded"};
String[] logRow = {"Log File" , "Not Loaded"};
DefaultTableModel dtm = new DefaultTableModel();
dtm.addColumn("");
dtm.addColumn("");
dtm.addRow(configRow);
dtm.addRow(logRow);
JTable status = new JTable(dtm);
status.setTableHeader(null);
status.setShowGrid(false);
status.setEnabled(false);
status.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
JPanel tablePanel = new JPanel();
tablePanel.setLayout(new BorderLayout());
tablePanel.add(status, BorderLayout.LINE_START);
JPanel logPanel = new JPanel();
logPanel.add(logScrollPane);
this.add(tablePanel, BorderLayout.NORTH);
this.add(logPanel, BorderLayout.SOUTH);
你在這裏尋找什麼行爲?你想讓最後一列獲得所有額外的空間嗎?如果框架的尺寸縮小了,您是否只希望最後一列縮小? – wolfcastle 2011-04-27 20:37:57
最後一列將加載完整文件路徑,所以我希望它根據該大小調整大小 – Hank 2011-04-27 20:42:26
因此,您希望表格根據模型中的數據更改來調整大小?那麼我不認爲'setAutoResizeMode'會幫助你。這只是基於用戶實際調整列或包含表格的窗口來調整大小。如果您希望表格在列中顯示的數據發生更改時調整其列的大小,則需要自行處理大小調整。 – wolfcastle 2011-04-27 21:11:12