如何向 JList 添加"listener"



我知道JList不支持这里所说的ActionListeners,但我需要实现一个列表,当新套接字连接到服务器时,该列表在框架中不断变化。所以我的问题:实施此列表的最佳方法是什么?

DefaultListModel<String> data = new DefaultListModel<>();  //defaultlistModel
/**
adding data to jlist    **/
       data.addElement("new element");
       jList1.setModel(data);

/**action listner on data(defaultlistModel) will be called when the list is changed*/
    public void addlistner(){

    data.addListDataListener(new ListDataListener() {
        @Override
        public void intervalAdded(ListDataEvent e) {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
        @Override
        public void intervalRemoved(ListDataEvent e) {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
        @Override
        public void contentsChanged(ListDataEvent e) {
            System.out.println("added"+e.getIndex1());   
        }
    });
    } 

你不能用jlist做到这一点. 但它可以用defaultListModel 每当您需要将数据添加到 jlist 时。您应该将元素添加到defaultlistmodel,然后将模型设置为 jlist 。然后,您可以编写一个列表器,以便在更改defaultListModel中的属性时调用。看看我的代码。

相关内容

最新更新