鍵盤輸入到JTable單元格中的資料,重新整理到JTable中的問題
阿新 • • 發佈:2019-01-04
一個 swing.JTable 的表,各單元的值可以修改
一個 Button
按 Button 後 jTable 內值賦給一個數組
問題 :修改jTable 的一個單元格後直接按Button, 這個單元的值沒有賦給陣列。
但是如果修改完後,在表格內其他的單元格點選一下,再按Button, 這個單元的值就會賦給陣列。
為什麼? 是不是有什麼重新整理的函式? 怎麼免去點選?
表格的編輯器在stopCellEditing之前是不把當前的值儲存進去的.所以你點選按鈕是原來的舊制.但是當你編輯完cell資料後,再別的cell點選時,Jtable呼叫了剛才你所編輯單元格編輯器的stopCellEditing方法,把編輯後的值儲存進去了.
你可以通過jTable的isEditing方法判斷表格是否正在編輯,如果為true.你可以通過getEditingColumn和getEditingRow獲取當前編輯的單元格的位置.然後通過getCellEditor(row,col)獲取正在編輯的編輯器,然後呼叫她的stopCellEditing方法就差不多了.
仔細看看jdk幫助吧.
祝你好運.
大體的流程如下:
if(jTable1.isEditing()){
int row = jTable1.getEditingRow();
int col = jTable1.getEditingColumn();
jTable1.getCellEditor(row,col).stopCellEditing();
}