java 远程怎么改bug_java,修改bug

展开全部

你很厉害自己已经发现了问题了并且解决了问题~

简单回答: 问题主要出现在DictTableModel 类里的setData方法里public void setData(List listb) {//因为构造方e5a48de588b63231313335323631343130323136353331333365643030法里传入了dic就有了单词列表,getValueAt方法也是直接从dic里获取单词列表进行更新的,所有参数可以不要,也可以在传参时填个null

fireTableDataChanged();//更新数据

}

删除的事件处理做如下的修改:public void actionPerformed(ActionEvent arg0) {

//找到要删除的单词的行数

int row = table.getSelectedRow();// 获取选中的行号

//删除操作

if (row == -1) {

JOptionPane.showMessageDialog(null, "无此单词");

} else {

String eWord = table.getValueAt(row, 0).toString();// ?

String cWord = table.getValueAt(row, 1).toString();// ?

y.getWordList().remove(new Word(eWord, cWord));

dataModel.setData(y.getWordList());// 主要是让JTable更新

JOptionPane.showMessageDialog(null, eWord+"删除成功");

}

}

y.getWordList().remove(new Word(eWord, cWord))

面向对象一般还需要重写equals方法 . 这样删除对象的时候,方便点

13968ab2da59fc437e9e672a2e3ad4be.gif

说明

其实setData() 理论上这个方法,应该是传入一个新的单词链表,然后刷新的,所以之前的代码加入了删除列表,更新显示,然后添加新列表. 然后再次更新显示.

但是因为在DictTableModel构造方法里,已经传入了dic对象. 更新数据时,也是直接获取列表的 dic.getWordList()    所以setData()感觉就只剩一个更新的功能了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值