e785. listening for changes to the items in a jlist component.txt

来自「这里面包含了一百多个JAVA源文件」· 文本 代码 · 共 54 行

TXT
54
字号
When the set of items in a list component is changed, a list data event is fired. 
    // Create a list that allows adds and removes;
    // see e778 Adding and Removing an Item in a JList Component
    
    // Register a list data listener
    DefaultListModel model = (DefaultListModel)list.getModel();
    model.addListDataListener(new MyListDataListener());
    
    class MyListDataListener implements ListDataListener {
        // This method is called when new items have been added to the list
        public void intervalAdded(ListDataEvent evt) {
            DefaultListModel model = (DefaultListModel)evt.getSource();
    
            // Get range of new  items
            int start = evt.getIndex0();
            int end = evt.getIndex1();
            int count = end-start+1;
    
            // Get new items
            for (int i=start; i<=end; i++) {
                Object item = model.getElementAt(i);
            }
        }
    
        // This method is called when items have been removed from the list
        public void intervalRemoved(ListDataEvent evt) {
            // Get range of removed items
            int start = evt.getIndex0();
            int end = evt.getIndex1();
            int count = end-start+1;
    
            // The removed items are not available
        }
    
    
        // This method is called when items in the list are replaced
        public void contentsChanged(ListDataEvent evt) {
            DefaultListModel model = (DefaultListModel)evt.getSource();
    
            // Get range of changed items
            int start = evt.getIndex0();
            int end = evt.getIndex1();
            int count = end-start+1;
    
            // Get changed items
            for (int i=start; i<=end; i++) {
                Object item = model.getElementAt(i);
            }
        }
    }

 Related Examples 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?