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