/** * Finds an item between list items. * * @param item a text pattern. * @param comparator a searching criteria. * @return an item index. */ public int findItemIndex(String item, StringComparator comparator) { ComboBoxModel<?> model = getModel(); for (int i = 0; i < model.getSize(); i++) { if (comparator.equals(model.getElementAt(i).toString(), item)) { return i; } } return -1; }
@Override public boolean checkComponent(Component comp) { if (comp instanceof JComboBox) { if (label == null) { return true; } if (((JComboBox) comp).getModel().getSize() > itemIndex) { int ii = itemIndex; if (ii == -1) { ii = ((JComboBox) comp).getSelectedIndex(); if (ii == -1) { return false; } } return (comparator.equals( ((JComboBox) comp).getModel().getElementAt(ii).toString(), label)); } } return false; }