Re: [問題] JTable row 數目更新

看板java作者 (愚者)時間19年前 (2006/07/05 19:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/5 (看更多)
建立新的Model時,同時使用model.fireTableDataChanged(); 這一個改變的通知,要用TableModelListener來接住,然後updateUI model.addTableModelListener(new TableModelListener(){ public void tableChanged(TableModelEvent e) { table.updateUI(); }}); 或是在Model的建構子,偷把table ref塞進去。直接地update 或是寫一個Thread定時update @"@ ※ 引述《yoco315 (眠月)》之銘言: : 初學 Java 兩天,現在在摸 Swing : 我根據 java.sun.com 上面的 Java Swing tutorial 關於 JTable 的部份 : 要寫一個簡單的 browser (可以列出目錄下面的檔案跟一些資訊) : GUI 架構是這樣的 : Frame 放進一個 Panel : Panel 放進一個 Scroll Panel,這個 Scroll Panel 以 Table 為 Client : 而這個 Table 是根據 MyTableModel extends AbstractTableModelTableModel 建立的 : 當我每次指定一個目錄給程式的時候 : 我就會根據目錄的內容更新建立一個新的 table model 然後指定給 table : 我的問題在於 : 每次指定新的 table model 以後 : 雖然 table 的 cell 內容會更新 : 但是 table 的 row 的數目竟然不會更新 orz : 要等到我 resize window 以後 row 的數目才會更新 : 比如說我上一次瀏覽的目錄有 10 個檔案 : 那 Table 就有 10 rows : 這次切換到另外一個目錄,假設有 30 個檔案 : 但是 Table 依然只有 10 rows : 一定要等到我 resize window 之後,table 才會更新成 30 行 : 因為初學,如果問了一個笨問題的話請原諒, : 我已經查過 google 跟 java.sun.com 還有 javaworld.tw, : 但是沒有找到解決方法, : 我試過 updataUI, invalidate, revalidata, fireTableXXXXX, repaint 等 : 也都沒有用。 : 請教前輩我應該如何解決? : 先謝過。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.26.34.105 ※ 編輯: qrtt1 來自: 163.26.34.105 (07/05 19:20)
文章代碼(AID): #14gvzwmA (java)
討論串 (同標題文章)
文章代碼(AID): #14gvzwmA (java)