e777. 获得JList组件的所有项

Posted borter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于e777. 获得JList组件的所有项的主要内容,如果未能解决你的问题,请参考以下文章

e774. 创建JList组件

e778. 在JList中加入和删除项

从 JList 取回数据

如何从 JList 中的组件中获取文本?

如何在Java Swing中创建响应式JList

e785. 监听JList中项的变动