jlist 中某行按下按键时的动作

问题描述 投票:0回答:1

我不明白如何删除 JList 中被删除键按下的行。我知道这听起来像是“请为我编写代码”,但是......确实如此)因为我不知道是否可以确定实际的行,然后使其回答我的操作。

我开始写类似的东西

list.addKeyListener(new KeyAdapter() {
    public void keyReleased(KeyEvent e) {
        if(KeyEvent.getKeyText(e.getKeyCode()).equals("Delete")) {
             // removing    
        }
                
    }
             
});

但是我不知道如何进行

java key line action jlist
1个回答
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
    实现并创建您自己的删除方法...
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.