e777. 获得JList组件的所有项

   // Create a list
    String[] items = {"A", "B", "C", "D"};
    JList list = new JList(items);
    
    // Get number of items in the list
    int size = list.getModel().getSize(); // 4
    
    // Get all item objects
    for (int i=0; i<size; i++) {
        Object item = list.getModel().getElementAt(i);
    }

These methods are used to find an item:

    // The prefix is case-insensitive
    String prefix = "b";
    
    // Search forward, starting from index 0, looking for an item that starts with "b"
    int start = 0;
    javax.swing.text.Position.Bias direction = javax.swing.text.Position.Bias.Forward;
    int itemIx = list.getNextMatch(prefix, start, direction);
    
    // Search backward, starting from the last item, looking for an item that starts with "b"
    start = list.getModel().getSize()-1;
    direction = javax.swing.text.Position.Bias.Backward;
    itemIx = list.getNextMatch(prefix, start, direction);

These methods can be used to find the range of visible items:

    // Get number of visible items
    int visibleSize = list.getVisibleRowCount();
    
    // Get index of first visible item
    itemIx = list.getFirstVisibleIndex();
    if (itemIx < 0) {
        // List is either not visible or there are no items
    }
    
    // Get index of last visible item
    itemIx = list.getLastVisibleIndex();
    if (itemIx < 0) {
        // List is either not visible or there are no items
    }

 

Related Examples
posted @ 2018-09-06 08:44  borter  阅读(318)  评论(0编辑  收藏  举报