Example usage for com.jgoodies.binding.value DelayedReadValueModel addValueChangeListener

List of usage examples for com.jgoodies.binding.value DelayedReadValueModel addValueChangeListener

Introduction

In this page you can find the example usage for com.jgoodies.binding.value DelayedReadValueModel addValueChangeListener.

Prototype

@Override
public final void addValueChangeListener(PropertyChangeListener l) 

Source Link

Document

Registers the given PropertyChangeListener with this model.

Usage

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);
}