键盘输入到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();
}

你可能感兴趣的:(可复用代码和开源软件,java语言基础)