// 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 |
原文:https://www.cnblogs.com/borter/p/9596137.html