我不明白如何删除由delete-key按下的JList行。我知道这听起来像是#34;请为我写代码"但是......它是)因为我不知道是否有可能确定实际的行,然后让它回答我的行为。
我开始写那样的东西
list.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
if(KeyEvent.getKeyText(e.getKeyCode()).equals("Delete")) {
// removing
}
}
});
但如何继续我不知道
答案 0 :(得分:0)
假设您使用的是DefaultListModel
,并假设您要删除所有选定的项目,那么您需要的代码是
list.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
if(KeyEvent.getKeyText(e.getKeyCode()).equals("Delete")) {
// removing:
DefaultListModel lm = (DefaultListModel) list.getModel();
for(int i : list.getSelectedIndices()) {
lm.remove(i);
}
}
}
});
否则:
DefaultListModel
,则必须扩展JList类或(更好)创建自己的ListModel
实现并创建自己的删除方法...