Example usage for com.jgoodies.forms.builder DefaultFormBuilder defaultRowSpec

List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder defaultRowSpec

Introduction

In this page you can find the example usage for com.jgoodies.forms.builder DefaultFormBuilder defaultRowSpec.

Prototype

RowSpec defaultRowSpec

To view the source code for com.jgoodies.forms.builder DefaultFormBuilder defaultRowSpec.

Click Source Link

Document

Holds the row specification that is reused to describe rows that are intended for labels and components.

Usage

From source file:org.key2gym.client.panels.forms.ClientFormPanel.java

License:Apache License

/**
 * Builds this from by placing the fields specified in columnsList.
 *//*from   w  ww  .  j a  v a2 s .c om*/
private void buildForm() {
    FormLayout layout = new FormLayout("right:default, 3dlu, default:grow", "");
    ResourceBundle strings = ResourceBundle.getBundle("org/key2gym/client/resources/Strings");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout, strings, this);
    builder.defaultRowSpec(new RowSpec(RowSpec.FILL, Sizes.DEFAULT, RowSpec.NO_GROW));

    bindingGroup = new BindingGroup();

    formBindingListener = new FormBindingListener();
    bindingGroup.addBindingListener(formBindingListener);

    for (Column column : columnsList) {
        Binding binding;

        if (column.equals(Column.ID)) {
            /*
             * ID
             */
            idTextField = new JTextField();
            idTextField.setEditable(false);
            idTextField.setEnabled(false);
            builder.appendI15d("Label.ID", idTextField);
            builder.nextLine();

            binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_ONCE, client,
                    BeanProperty.create("id"), idTextField, BeanProperty.create("text"), "id");
            bindingGroup.addBinding(binding);

        } else if (column.equals(Column.FULL_NAME)) {
            /*
             * Full name
             */
            fullNameTextField = new JTextField();
            builder.appendI15d("Label.FullName", fullNameTextField);
            builder.nextLine();

            binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_ONCE, client,
                    BeanProperty.create("fullName"), fullNameTextField, BeanProperty.create("text"),
                    "fullName");
            bindingGroup.addBinding(binding);
        } else if (column.equals(Column.CARD)) {
            /*
             * Card
             */
            cardTextField = new JTextField();
            builder.appendI15d("Label.Card", cardTextField);
            builder.nextLine();

            binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_ONCE, client,
                    BeanProperty.create("card"), cardTextField, BeanProperty.create("text"), "card");
            binding.setConverter(new IntegerToStringConverter("Card", true));
            bindingGroup.addBinding(binding);

        } else if (column.equals(Column.EXPIRATION_DATE)) {
            /*
             * Expiration date
             */
            expirationDateTextField = new JTextField();
            expirationDateTextField.setEditable(isPriviliged);
            new ExpirationDateHighlighter(expirationDateTextField);
            builder.appendI15d("Label.ExpirationDate", expirationDateTextField);
            builder.nextLine();

            binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_ONCE, client,
                    BeanProperty.create("expirationDate"), expirationDateTextField, BeanProperty.create("text"),
                    "expirationDate");
            binding.setConverter(
                    new DateMidnightToStringConverter(strings.getString("Text.ExpirationDate"), "dd-MM-yyyy"));
            bindingGroup.addBinding(binding);
        } else if (column.equals(Column.ATTENDANCES_BALANCE)) {
            /*
             * Attendances balance
             */
            attendancesBalanceTextField = new JTextField();
            //attendancesBalanceTextField.setEditable(isPriviliged);
            new AttendancesBalanceHighlighter(attendancesBalanceTextField);
            builder.appendI15d("Label.AttendancesBalance", attendancesBalanceTextField);
            builder.nextLine();

            binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_ONCE, client,
                    BeanProperty.create("attendancesBalance"), attendancesBalanceTextField,
                    BeanProperty.create("text"), "attendancesBalance");
            binding.setConverter(
                    new IntegerToStringConverter(strings.getString("Text.AttendancesBalance"), false));
            bindingGroup.addBinding(binding);

        } else if (column.equals(Column.MONEY_BALANCE)) {
            /*
             * Money balance
             */
            moneyBalanceTextField = new JTextField();
            moneyBalanceTextField.setEditable(isPriviliged);
            new MoneyBalanceHighlighter(moneyBalanceTextField);
            builder.appendI15d("Label.MoneyBalance", moneyBalanceTextField);
            builder.nextLine();

            binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_ONCE, client,
                    BeanProperty.create("moneyBalance"), moneyBalanceTextField, BeanProperty.create("text"),
                    "moneyBalance");
            binding.setConverter(new MoneyBigDecimalToStringConverter(strings.getString("Text.MoneyBalance")));
            bindingGroup.addBinding(binding);
        } else if (column.equals(Column.REGISTRATION_DATE)) {
            /*
             * Registration date
             */
            registrationDateTextField = new JTextField();
            registrationDateTextField.setEditable(isPriviliged);
            builder.appendI15d("Label.RegistrationDate", registrationDateTextField);
            builder.nextLine();

            binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_ONCE, client,
                    BeanProperty.create("registrationDate"), registrationDateTextField,
                    BeanProperty.create("text"), "registrationDate");
            binding.setConverter(new DateMidnightToStringConverter("Registration Date", "dd-MM-yyyy"));
            bindingGroup.addBinding(binding);
        } else if (column.equals(Column.NOTE)) {
            /*
             * Note
             */
            noteScrollPane = new JScrollPane();
            noteTextArea = new JTextArea();
            noteTextArea.setColumns(20);
            noteTextArea.setRows(5);
            noteScrollPane.setViewportView(noteTextArea);
            JLabel label = new JLabel(strings.getString("Label.Note"));
            label.setVerticalAlignment(SwingConstants.TOP);
            builder.append(label, noteScrollPane);

            binding = Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ_ONCE, client,
                    BeanProperty.create("note"), noteTextArea, BeanProperty.create("text"), "note");
            bindingGroup.addBinding(binding);

        }
    }
    bindingGroup.bind();
}