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

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

Introduction

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

Prototype

public DelayedReadValueModel(ValueModel subject, int delay, boolean coalesce) 

Source Link

Document

Constructs a DelayedReadValueModel for the given subject ValueModel and the specified Timer delay in milliseconds using the given coalesce mode.

Usage

From source file:cz.vity.freerapid.gui.dialogs.DownloadHistoryDialog.java

private void buildGUI() {
    initTable();//  w  w w  .  j  ava2  s  .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);
}