@Override public void simpleMatchSelectionChanged(Collection<SimpleMatch> selected) { // adjust table selection to match match list selection // FIXME: is this really where I should be doing this? // selection is the same, don't do anything Collection<SimpleMatch> tableSelection = getSelectedFromTable(); if (tableSelection.containsAll(selected) && tableSelection.size() == selected.size()) return; ListSelectionModel lsm = matchTable.getSelectionModel(); lsm.setValueIsAdjusting(true); lsm.clearSelection(); for (SimpleMatch c : selected) { int idx = matches.indexOf(c); lsm.addSelectionInterval(idx, idx); } lsm.setValueIsAdjusting(false); }