private void addListener(final JComponent contro) { if (contro instanceof JTextComponent) { ((JTextComponent) contro) .addKeyListener( new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { validaControl(contro); } }); if (contro instanceof F2) { ((F2) contro) .setValueSelectedListener( (id, text) -> { validaControl(contro); }); } } else if (contro instanceof JTable) { ((JTable) contro) .getModel() .addTableModelListener( new TableModelListener() { public void tableChanged(TableModelEvent e) { validaControl(contro); } }); } else if (contro instanceof JComboBox) { ((JComboBox) contro) .addActionListener( (e) -> { validaControl(contro); }); } }
private static <S, T> T foldLeft(Collection<S> collection, F2<T, S, T> func, T value) { for (S item : collection) { value = func.f(value, item); } return value; }