List of usage examples for com.jgoodies.binding.value DelayedReadValueModel addValueChangeListener
@Override public final void addValueChangeListener(PropertyChangeListener l)
From source file:cz.vity.freerapid.gui.dialogs.DownloadHistoryDialog.java
private void buildGUI() { initTable();/*www. j av a 2s . com*/ if ("Search...".equals(AppPrefs.getProperty(UserProp.CONTAIN_DOWNLOADS_FILTER, "")))//hack for 0.6 and older AppPrefs.storeProperty(UserProp.CONTAIN_DOWNLOADS_FILTER, ""); if ("".equals(AppPrefs.getProperty(UserProp.CONTAIN_DOWNLOADS_FILTER, ""))) AppPrefs.storeProperty(UserProp.CONTAIN_DOWNLOADS_FILTER, exampleSearchString); final MyPreferencesAdapter adapter = new MyPreferencesAdapter(UserProp.CONTAIN_DOWNLOADS_FILTER, ""); final DelayedReadValueModel delayedReadValueModel = new DelayedReadValueModel(adapter, 300, true); delayedReadValueModel.addValueChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { updateFilters(); } }); fieldFilter.addFocusListener(new FocusListener() { public void focusGained(FocusEvent e) { if (exampleSearchString.equals(fieldFilter.getText())) { fieldFilter.setForeground(Color.BLACK); fieldFilter.setText(""); } else fieldFilter.selectAll(); } public void focusLost(FocusEvent e) { if (fieldFilter.getText().isEmpty()) { fieldFilter.setForeground(Color.GRAY); fieldFilter.setText(exampleSearchString); } } }); fieldFilter.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { final int keyCode = e.getKeyCode(); if (KeyEvent.VK_ESCAPE == keyCode) { if (!"".equals(fieldFilter.getText())) { fieldFilter.setText(""); e.consume(); } } else if (KeyEvent.VK_ENTER == keyCode || KeyEvent.VK_DOWN == keyCode) { if (getSelectedRows().length == 0) { if (table.getRowCount() > 0) table.setRowSelectionInterval(0, 0); } Swinger.inputFocus(table); e.consume(); } } }); Bindings.bind(fieldFilter, delayedReadValueModel); //combobox.setModel(new DefaultComboBoxModel(getList("datesFilter"))); bindCombobox(combobox, UserProp.SELECTED_DOWNLOADS_FILTER, DownloadsFilters.ALL_DOWNLOADS.ordinal(), "datesFilter", 6); combobox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateFilters(); } }); if (!exampleSearchString.equals(fieldFilter.getText())) { fieldFilter.setForeground(Color.BLACK); } else { fieldFilter.setForeground(Color.GRAY); } updateFilters(); Swinger.inputFocus(table); }