Пример #1
0
 /**
  * Assigns the specified list entries and selects the first entry.
  *
  * @param elements result elements
  * @param srch content search string
  */
 void setElements(final TokenSet elements, final String srch) {
   SwingUtilities.invokeLater(
       new Runnable() {
         @Override
         public void run() {
           // set new values and selections
           final int is = elements.size();
           final String[] list = new String[is];
           for (int i = 0; i < is; i++) list[i] = Token.string(elements.key(i + 1));
           if (changed(list)) {
             // check which old values had been selected
             final List<String> values = getSelectedValuesList();
             final IntList il = new IntList();
             for (final String value : values) {
               final byte[] val = Token.token(value);
               for (int i = 0; i < is; i++) {
                 if (Token.eq(val, elements.key(i + 1))) {
                   il.add(i);
                   break;
                 }
               }
             }
             setListData(list);
             setSelectedIndices(il.finish());
           }
           search = srch;
         }
       });
 }