1. 程式人生 > >鍵盤輸入到JTable單元格中的資料,重新整理到JTable中的問題

鍵盤輸入到JTable單元格中的資料,重新整理到JTable中的問題

一個 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();

}