Example usage for com.jgoodies.binding.adapter BasicComponentFactory createTextField

List of usage examples for com.jgoodies.binding.adapter BasicComponentFactory createTextField

Introduction

In this page you can find the example usage for com.jgoodies.binding.adapter BasicComponentFactory createTextField.

Prototype

public static JTextField createTextField(ValueModel valueModel, boolean commitOnFocusLost) 

Source Link

Document

Creates and returns a text field with the content bound to the given ValueModel.

Usage

From source file:ambit2.dbui.QueryEditor.java

License:Open Source License

protected JComponent createValueComponent() {
    return BasicComponentFactory.createTextField(presentationModel.getModel("value"), true);
}

From source file:ambit2.ui.editors.BeanEditor.java

License:Open Source License

protected void initComponents(L object, final String[] columns, String[] captions) {
    this.columns = columns;
    this.captions = captions;
    setObject(object);/*from  w  w w  .  j a v a  2  s . com*/
    detailsModel = createPresentationModel();
    fields = new JTextComponent[columns.length];
    for (int i = 0; i < columns.length; i++) {
        if (null == columns[i])
            fields[i] = null;
        else {
            if (columns[i].toLowerCase().equals("password")) {
                JPasswordField t = BasicComponentFactory.createPasswordField(detailsModel.getModel(columns[i]));
                t.setEditable(true);
                fields[i] = t;
            } else {
                JTextField t = BasicComponentFactory.createTextField(detailsModel.getModel(columns[i]), true);
                t.setEditable(isEditable());
                fields[i] = t;
            }
        }
    }
}

From source file:de.dal33t.powerfolder.ui.dialog.AddressEditor.java

License:Open Source License

public AddressEditor(Controller controller, String string) {
    super(Senior.NONE, controller, true);
    result = EditorResult.CANCEL;//from  w w  w.  j av  a2  s  . c o m
    validationResultModel = new DefaultValidationResultModel();

    addressModel = new ValueHolder();
    // Trigger validation when the address model changes
    addressModel.addValueChangeListener(new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            String addressText = (String) evt.getNewValue();
            ValidationResult aResult = new AddressRangeValidator(addressText).validate(null);
            validationResultModel.setResult(aResult);
        }
    });
    addressModel.setValue(string);

    ActionListener okAction = new OKAction();
    okButton = createOKButton(okAction);
    cancelButton = createCancelButton(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            close();
        }
    });

    // Create a textfield that is bound to the address model
    inputLine = BasicComponentFactory.createTextField(addressModel, false);
    inputLine.setColumns(40);
    inputLine.addActionListener(okAction);
}

From source file:de.dal33t.powerfolder.ui.dialog.SingleFileTransferDialog.java

License:Open Source License

/**
 * Initialize the dialog components.//  w w  w  .  j a  va2s  .  c  om
 */
private void initComponents() {

    cancelButton = createCancelButton(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            close();
        }
    });

    // Buttons
    createTransferButton();

    computersTextModel = new ValueHolder();
    computersTextModel.setValue(Translation.getTranslation("dialog.node_select.no_computers"));
    computersTextModel.addValueChangeListener(new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            updateTransferButton();
        }
    });
    computersText = BasicComponentFactory.createTextField(computersTextModel, false);
    computersText.setEnabled(false);
    computersSelectButton = new JButtonMini(Icons.getIconById(Icons.NODE_CONNECTED),
            Translation.getTranslation("dialog.single_file_transfer.select_computer.tip"));
    computersSelectButton.addActionListener(new MyActionListener());

    updateTransferButton();

    messageTextArea = new JTextArea();
}

From source file:de.dal33t.powerfolder.ui.information.folder.settings.SettingsTab.java

License:Open Source License

/**
 * Creates a pair of location text field and button.
 *
 * @return/*from w w  w  .j av  a  2 s .c o m*/
 */
private JComponent createScriptField() {
    scriptModel.addValueChangeListener(new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            folder.setDownloadScript((String) evt.getNewValue());
        }
    });

    FormLayout layout = new FormLayout("140dlu, 3dlu, pref, pref", "pref");

    PanelBuilder builder = new PanelBuilder(layout);
    CellConstraints cc = new CellConstraints();

    JTextField locationTF = BasicComponentFactory.createTextField(scriptModel, false);
    locationTF.setEditable(true);
    builder.add(locationTF, cc.xy(1, 1));

    JButton locationButton = new JButtonMini(Icons.getIconById(Icons.DIRECTORY),
            Translation.getTranslation("exp.settings_tab.download_script"));
    locationButton.addActionListener(new SelectScriptAction());
    builder.add(locationButton, cc.xy(3, 1));
    builder.add(Help.createWikiLinkButton(getController(), WikiLinks.SCRIPT_EXECUTION), cc.xy(4, 1));
    return builder.getPanel();
}

From source file:de.dal33t.powerfolder.ui.preferences.DynDnsSettingsTab.java

License:Open Source License

private void initComponents() {
    // DynDns//  ww w .ja v a2 s  .c  o m
    myDnsField = BasicComponentFactory.createTextField(mydnsndsModel, false);
    myDnsField.addFocusListener(new FocusListener() {
        public void focusGained(FocusEvent e) {
        }

        public void focusLost(FocusEvent e) {
            updateDynDnsInfo();
        }
    });
    myDnsLabel = new JLabel(Translation.getTranslation("exp.preferences.dyn_dns_host_name"));

    if (ConfigurationEntry.DYNDNS_USERNAME.getValue(getController()) == null) {
        dyndnsUserField = new JTextField("");
    } else {
        dyndnsUserField = new JTextField(ConfigurationEntry.DYNDNS_USERNAME.getValue(getController()));
    }

    if (ConfigurationEntry.DYNDNS_PASSWORD.getValue(getController()) == null) {
        dyndnsPasswordField = new JPasswordField("");
    } else {
        dyndnsPasswordField = new JPasswordField(ConfigurationEntry.DYNDNS_PASSWORD.getValue(getController()));
    }

    currentIPField = new JLabel();
    updatedIPField = new JLabel();

    cbAutoUpdate = SimpleComponentFactory
            .createCheckBox(Translation.getTranslation("exp.preferences.dyn_dns.auto_update"));
    cbAutoUpdate.setSelected(isUpdateSelected());

    updateButton = createUpdateButton(new UpdateDynDnsAction());

    mydnsndsModel.addValueChangeListener(new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            enableDisableComponents();
        }
    });
    cbAutoUpdate.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {
            enableDisableComponents();
        }
    });
    enableDisableComponents();
}

From source file:de.dal33t.powerfolder.ui.util.FileSelectorFactory.java

License:Open Source License

/**
 * Creates a file selection field. A browse button is attached at the right
 * side/*from  w  w  w .  j  av a 2  s  .c o m*/
 *
 * @param title              the title of the filechoose if pressed the browse button
 * @param fileSelectionModel the file base value model, will get/write base as String
 * @param fileSelectionMode  the selection mode of the filechooser
 * @param fileFilter         the filefilter used for the filechooser. may be null will
 *                           ignore it then
 * @param open               true ? show open dialog : show save dialog
 * @return
 */
public static JComponent createFileSelectionField(final String title, final ValueModel fileSelectionModel,
        final int fileSelectionMode, final FileFilter fileFilter, final boolean open) {
    if (fileSelectionModel == null) {
        throw new NullPointerException("Filebase value model is null");
    }
    if (fileSelectionModel.getValue() != null && !(fileSelectionModel.getValue() instanceof String)) {
        throw new IllegalArgumentException("Value of fileselection is not of type String");
    }
    // text          button
    FormLayout layout = new FormLayout("122dlu, 3dlu, pref", "pref");
    PanelBuilder builder = new PanelBuilder(layout);

    // The textfield
    final JTextField textField = BasicComponentFactory.createTextField(fileSelectionModel, false);
    textField.setEditable(false);
    Dimension p = textField.getPreferredSize();
    p.width = Sizes.dialogUnitXAsPixel(30, textField);
    textField.setPreferredSize(p);

    // The button
    final JButton button = new JButtonMini(Icons.getIconById(Icons.DIRECTORY),
            Translation.getTranslation("folder_create.dialog.select_directory.text"));

    // Button logic
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {

            File fileSelection = null;
            if (fileSelectionModel.getValue() != null) {
                fileSelection = new File((String) fileSelectionModel.getValue());
            }

            JFileChooser fileChooser = DialogFactory.createFileChooser();
            fileChooser.setFileSelectionMode(fileSelectionMode);

            if (fileSelection != null) {
                fileChooser.setSelectedFile(fileSelection);
                fileChooser.setCurrentDirectory(fileSelection);
            }

            fileChooser.setDialogTitle(title);
            fileChooser.setFileSelectionMode(fileSelectionMode);
            if (fileFilter != null) {
                fileChooser.setFileFilter(fileFilter);
            }
            int result;
            if (open) {
                result = fileChooser.showOpenDialog(button);
            } else {
                result = fileChooser.showSaveDialog(button);
            }

            File selectedFile = fileChooser.getSelectedFile();

            if (result == JFileChooser.APPROVE_OPTION && selectedFile != null) {
                fileSelectionModel.setValue(selectedFile.getAbsolutePath());
            }
        }
    });

    CellConstraints cc = new CellConstraints();
    builder.add(textField, cc.xy(1, 1));
    builder.add(button, cc.xy(3, 1));

    JPanel panel = builder.getPanel();
    panel.addPropertyChangeListener("enabled", new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            boolean enabled = (Boolean) evt.getNewValue();
            textField.setEnabled(enabled);
            button.setEnabled(enabled);
        }
    });
    return panel;
}

From source file:de.dal33t.powerfolder.ui.widget.FileFilterTextField.java

License:Open Source License

private void initComponents() {
    // true = editable
    textField = BasicComponentFactory.createTextField(localValueModel, false);
    textField.setColumns(15);//  w  w w  .jav a 2 s .  c  o  m
    textField.setBorder(null);
    // Make sure we have room for the button
    // since the button may not be visible we need to force the height
    // else the ui will "jump"
    textField.setPreferredSize(new Dimension(17, 17));
    textField.setToolTipText(Translation.getTranslation("filter_text_field.tip"));
    clearTextJButton = new JButton3Icons(Icons.getIconById(Icons.FILTER_TEXT_FIELD_CLEAR_BUTTON_NORMAL),
            Icons.getIconById(Icons.FILTER_TEXT_FIELD_CLEAR_BUTTON_HOVER),
            Icons.getIconById(Icons.FILTER_TEXT_FIELD_CLEAR_BUTTON_PUSH));
    clearTextJButton.setVisible(false);
    clearTextJButton.setToolTipText(Translation.getTranslation("filter_text_field.clear.hint"));
    // Make sure the background is never drawn
    clearTextJButton.setContentAreaFilled(false);
    clearTextJButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            textField.setText("");
            externalSearchTextValueModel.setValue("");
            textField.requestFocus();
        }
    });
    glassIcon = SimpleComponentFactory.createLabel(Icons.getIconById(Icons.FILTER_TEXT_FIELD_GLASS_ARROW));
    glassIcon.setToolTipText(Translation.getTranslation("filter_text_field.glass.hint"));
    glassIcon.addMouseListener(new MyMouseListener());

    localValueModel.addValueChangeListener(new MyPropertyChangeListener());

    MyFocusListener focusListener = new MyFocusListener();
    clearTextJButton.addFocusListener(focusListener);
    textField.addFocusListener(focusListener);
    updateForFocus();
}

From source file:de.dal33t.powerfolder.ui.widget.FilterTextField.java

License:Open Source License

private void initComponents() {
    // true = editable
    textField = BasicComponentFactory.createTextField(localValueModel, false);
    textField.setColumns(columns);/*from ww w . ja  v a 2s .  c  o m*/
    textField.setBorder(null);
    // make sure we have room for the button
    // since the button may not be visible we need to force the height
    // else the ui will "jump"
    textField.setPreferredSize(new Dimension(17, 17));
    if (tooltip != null && tooltip.length() > 0) {
        textField.setToolTipText(tooltip);
    }
    spacerIcon = SimpleComponentFactory.createLabel(Icons.getIconById(Icons.BLANK));
    spacerIcon.setVisible(false);
    clearTextJButton = new JButton3Icons(Icons.getIconById(Icons.FILTER_TEXT_FIELD_CLEAR_BUTTON_NORMAL),
            Icons.getIconById(Icons.FILTER_TEXT_FIELD_CLEAR_BUTTON_HOVER),
            Icons.getIconById(Icons.FILTER_TEXT_FIELD_CLEAR_BUTTON_PUSH));
    clearTextJButton.setVisible(false);
    clearTextJButton.setToolTipText(Translation.getTranslation("filter_text_field.clear.hint"));
    // make sure the background is never drawn
    clearTextJButton.setContentAreaFilled(false);
    clearTextJButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            textField.setText("");
            externalValueModel.setValue("");
            textField.requestFocus();
        }
    });
    glassIcon = SimpleComponentFactory.createLabel(Icons.getIconById(Icons.FILTER_TEXT_FIELD_GLASS));

    localValueModel.addValueChangeListener(new MyPropertyChangeListener());

    MyFocusListener focusListener = new MyFocusListener();
    clearTextJButton.addFocusListener(focusListener);
    textField.addFocusListener(focusListener);
    setHint();
}

From source file:de.dal33t.powerfolder.ui.wizard.BasicSetupPanel.java

License:Open Source License

/**
 * Initalizes all nessesary components//from w ww . java 2 s .co  m
 */
protected void initComponents() {
    nameModel = new ValueHolder(getController().getMySelf().getNick());

    nameModel.addValueChangeListener(new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent evt) {
            updateButtons();
        }
    });

    // Language selector
    languageChooser = createLanguageChooser();

    nameField = BasicComponentFactory.createTextField(nameModel, false);
    // Ensure minimum dimension
    UIUtil.ensureMinimumWidth(107, nameField);

    wanLineSpeed = new LineSpeedSelectionPanel(getController(), true, false);
    TransferManager tm = getController().getTransferManager();
    wanLineSpeed.setSpeedKBPS(ConfigurationEntry.TRANSFER_LIMIT_AUTODETECT.getValueBoolean(getController()),
            tm.getUploadCPSForWAN() / 1024, tm.getDownloadCPSForWAN() / 1024);

    networkingModeModel = new ValueHolder();
    // Network mode chooser
    JComboBox networkingModeChooser = SimpleComponentFactory.createComboBox(networkingModeModel);
    networkingModeChooser.addItem(new PrivateNetworking());
    networkingModeChooser.addItem(new LanOnlyNetworking());
    NetworkingMode mode = getController().getNetworkingMode();
    switch (mode) {
    case PRIVATEMODE:
        networkingModeChooser.setSelectedIndex(0);
        break;
    case LANONLYMODE:
        networkingModeChooser.setSelectedIndex(1);
        break;
    }
    wanLineSpeed.setEnabled(networkingModeChooser.getSelectedItem() instanceof PrivateNetworking);
    networkingModeChooser.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            wanLineSpeed.setEnabled(e.getItem() instanceof PrivateNetworking);
        }
    });

    defaultFolderHelper = new DefaultFolderWizardHelper(getController(), getController().getOSClient());
}