在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并创建您自己的删除方法...
+0

谢谢!这就是我想要的 – user5675069

+0

然后投票:) –

+0

我不能(我的声望小于15,这就是为什么没有人能看到我的投票) – user5675069