// 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 |