2010-03-30 47 views
0

我正在研究一個非常簡單的Java應用程序,以便了解有關JTables,TableModels和自定義單元格渲染器的更多信息。該表是一個簡單的表格,其中8列只有文本。當你點擊「添加」按鈕時,會彈出一個對話框,讓你輸入列的數據。JTable.setRowHeight阻止我添加更多行

現在我的問題。其中一列(最後一列)應允許多行文本。我已經把HTML放入了這個領域,但它並沒有包裝。我做了一些研究,並研究了JTable#setRowHeight()。但是,一旦我使用setRowHeight,我不能再向表中添加行。數據放入表格模型中,但不顯示在表格中。如果我刪除setRowHeight行,那麼它會添加數據就好了。

是否有將數據添加到我缺少的數據模型的另一步?

非常感謝!

+2

您的桌子坐在JScrollPane中嗎? – 2010-03-30 15:49:09

回答

1

您必須更換單元格編輯器。默認的單元格編輯器是一個JTextField,我不相信允許文本換行。一個JTextArea或類似的組件可以讓你做到這一點。至於setRowHeight()不允許你添加新行,我從來沒有聽說過。你能提供更多細節嗎?或者至少是你使用的代碼?我無法重現結果,因爲儘管使用setRowHeight(),我仍然可以繼續添加新行。

+1

感謝您的回覆。我想到了。當我添加一個新行時,我需要使用fireTableDataChanged()。再次感謝你的回覆! – 2010-03-31 15:11:50