关于JTable中defaultModel的问题

cmj1425479236 2017-11-02 09:21:15
[code=javadelRow.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){
int rowcount = defaultModel.getRowCount()-1; //getRowCount 返回行数, rowcount<0 代表已经没有任何行了。
if(rowcount >= 0)
{
int[] select=table.getSelectedRows();
for(int i=0;i<select.length;i++){
defaultModel.removeRow(table.getSelectedRow());//这个地方很奇怪,不要在括号里写select[i],
//随着每条删除,索引都会变,所以会出错,但是这样输入就没错
}
defaultModel.setRowCount(rowcount+1-select.length);
table.setModel(defaultModel);
}
}
});
][/code]


这段代码是想删除table中选中行,在removeRow里我一开始写的是select[i]出错了,写成table.getSelectedRow()就没错,我知道前一种写法在循环的时候索引变了,导致找不到一部分行;不过为什么后一种写法就没有这种问题,内部是有什么转换吗?真心求解
...全文
87 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,412

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧