在jlist的特定行按键时的动作
问题描述:
我不明白如何删除JList所在的行,这是由delete-key按下的。我知道这听起来像是“请给我写代码”,但是......)因为我不知道是否有可能确定实际行,然后让它回答我的行为。在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
并创建您自己的删除方法...
谢谢!这就是我想要的 – user5675069
然后投票:) –
我不能(我的声望小于15,这就是为什么没有人能看到我的投票) – user5675069