我不明白如何删除 JList 中被删除键按下的行。我知道这听起来像是“请为我编写代码”,但是......确实如此)因为我不知道是否可以确定实际的行,然后使其回答我的操作。
我开始写类似的东西
list.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
if(KeyEvent.getKeyText(e.getKeyCode()).equals("Delete")) {
// removing
}
}
});
但是我不知道如何进行
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
实现并创建您自己的删除方法...