【问题标题】:Action at pressing the key on certain line in jlist按下 jlist 中某行上的键时的操作
【发布时间】:2016-12-27 17:52:09
【问题描述】:

我不明白如何删除由删除键按下的 JList 行。我知道这听起来像“请为我写代码”但是....它是)因为我不知道是否有可能确定实际行,然后让它回答我的行动。

我开始写类似的东西

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

    }

});

但我不知道如何进行

【问题讨论】:

    标签: java key line action jlist


    【解决方案1】:

    假设您使用的是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 实现并创建自己的删除方法...

    【讨论】:

    • 谢谢!这就是我想要的
    • 我不能(。我的声望不到15,所以没人能看到我的投票)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多