現在我有一個JTable使用一個使用JDBC訪問SQL數據庫的AbstractTableModel。我這樣做使JTable顯示只添加行
stmt.executeUpdate(someStr);
fireTableRowsInserted(rowCount,rowCount+1);
這顯然增加了JTable上的行。但是,我想要發生的是JTable只顯示添加的行。
我想也許創造一個結果集只包含添加的行,但我不明白,因爲我沒有增量id字段。
還有什麼我可以嘗試嗎?
現在我有一個JTable使用一個使用JDBC訪問SQL數據庫的AbstractTableModel。我這樣做使JTable顯示只添加行
stmt.executeUpdate(someStr);
fireTableRowsInserted(rowCount,rowCount+1);
這顯然增加了JTable上的行。但是,我想要發生的是JTable只顯示添加的行。
我想也許創造一個結果集只包含添加的行,但我不明白,因爲我沒有增量id字段。
還有什麼我可以嘗試嗎?
不另起爐竈,尋找ResultsetTableModel
,TableFromDatabase
(所有的事件都在EDT
和Swing GUI
等待半球/凍結,直到所有的活動結束後,根據AbstractTableModel
)
推倒重來,
一)使用Runnable#Thread()
或SwingWorker
(publish()
,progress()
),用於JDBC
二)建立一個適當的AbstractTableModel
,有覆蓋適當的通知程序,
C)在模型中使用的通告程序,"fireTableRowsInserted(rowCount,rowCount+1);"
d)全部更新到Swing GUI
,JTable
,XxxTableModel
必須在EDT
完成
如果有關於嚴格requirents覆蓋在AbstractTableModel
的方法,然後尋找正確AbstractTableModel
,否則使用DefaultTableModel
和調用或SwingWorker
只myModel.addRow()
,沒有別的
爲更好地幫助越早發佈數據的SSCCE硬編碼到Array
instread的JDBC Connections
*這顯然增加了對JTable中*行... EUH,無 – Robin
您可以創建一個臨時表模型,僅包含新添加的行並將其設置爲表格。 – linski
<牙齒磨損>不會發生火災事件代表模型。取而代之的是實施模型以適當地開火。順便說一下:間隔是包容性的邊界。至於你的要求(聽起來有點奇怪,但..):刪除除新添加的所有行。 – kleopatra