/** * Select the next enabled list item where the first character of the * rendered text matches the typed key (case insensitive). */ @Override public boolean keyTyped(Component component, char character) { boolean consumed = super.keyTyped(component, character); ListButton listButton = (ListButton)getComponent(); List<?> listData = listButton.getListData(); ListView.ItemRenderer itemRenderer = listButton.getItemRenderer(); char characterUpper = Character.toUpperCase(character); for (int i = listButton.getSelectedIndex() + 1, n = listData.getLength(); i < n; i++) { if (!listButton.isItemDisabled(i)) { String string = itemRenderer.toString(listData.get(i)); if (string != null && string.length() > 0) { char first = Character.toUpperCase(string.charAt(0)); if (first == characterUpper) { listButton.setSelectedIndex(i); consumed = true; break; } } } } return consumed; }
/** * Select the next enabled list item where the first character of the * rendered text matches the typed key (case insensitive). */ @Override public boolean keyTyped(Component component, char character) { boolean consumed = super.keyTyped(component, character); ListButton listButton = (ListButton)getComponent(); List<?> listData = listButton.getListData(); ListView.ItemRenderer itemRenderer = listButton.getItemRenderer(); character = Character.toUpperCase(character); for (int i = listButton.getSelectedIndex() + 1, n = listData.getLength(); i < n; i++) { if (!listButton.isItemDisabled(i)) { String string = itemRenderer.toString(listData.get(i)); if (string != null && string.length() > 0) { char first = Character.toUpperCase(string.charAt(0)); if (first == character) { listButton.setSelectedIndex(i); consumed = true; break; } } } } return consumed; }
index--; } while (index >= 0 && listButton.isItemDisabled(index));
index--; } while (index >= 0 && listButton.isItemDisabled(index));