Example usage for com.jgoodies.forms.layout CellConstraints LEFT

List of usage examples for com.jgoodies.forms.layout CellConstraints LEFT

Introduction

In this page you can find the example usage for com.jgoodies.forms.layout CellConstraints LEFT.

Prototype

Alignment LEFT

To view the source code for com.jgoodies.forms.layout CellConstraints LEFT.

Click Source Link

Document

Put the component in the left.

Usage

From source file:se.streamsource.streamflow.client.ui.administration.surface.AccessPointView.java

License:Apache License

public AccessPointView(@Service ApplicationContext appContext, @Uses final AccessPointModel model,
        @Structure Module module) {/*from ww w  .j  av a 2  s  . c o  m*/
    this.model = model;
    this.labels = module.objectBuilderFactory().newObjectBuilder(CaseLabelsView.class)
            .use(model.getLabelsModel()).newInstance();

    setLayout(new BorderLayout());
    setActionMap(appContext.getActionMap(this));

    RefreshComponents refreshComponents = new RefreshComponents();
    model.addObserver(refreshComponents);

    actionBinder = module.objectBuilderFactory().newObjectBuilder(ActionBinder.class).use(getActionMap())
            .newInstance();
    valueBinder = module.objectBuilderFactory().newObject(ValueBinder.class);
    actionBinder.setResourceMap(appContext.getResourceMap(getClass()));
    LinkValueConverter linkValueConverter = new LinkValueConverter();

    FormLayout layout = new FormLayout("90dlu, 5dlu, 150:grow",
            "pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, "
                    + "pref, 12dlu, pref, 2dlu, pref, 12dlu, pref, 2dlu, default:grow");

    JPanel panel = new JPanel(layout);
    DefaultFormBuilder builder = new DefaultFormBuilder(layout, panel);
    builder.setBorder(Borders.createEmptyBorder(Sizes.DLUY8, Sizes.DLUX4, Sizes.DLUY2, Sizes.DLUX8));

    CellConstraints cc = new CellConstraints();

    MacOsUIWrapper.convertAccelerators(appContext.getActionMap(AccessPointView.class, this));

    selectedProject.setFont(selectedProject.getFont().deriveFont(Font.BOLD));

    selectedCaseType.setFont(selectedCaseType.getFont().deriveFont(Font.BOLD));

    selectedForm.setFont(selectedForm.getFont().deriveFont(Font.BOLD));

    selectedTemplate.getLabel().setFont(selectedTemplate.getLabel().getFont().deriveFont(Font.BOLD));

    ActionMap am = getActionMap();

    // Select project
    javax.swing.Action projectAction = am.get("project");
    projectButton = new StreamflowButton(projectAction);
    projectButton.registerKeyboardAction(projectAction,
            (KeyStroke) projectAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);
    projectButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(projectButton, cc.xy(1, 1));

    builder.add(valueBinder.bind("project", selectedProject, linkValueConverter), new CellConstraints(3, 1, 1,
            1, CellConstraints.LEFT, CellConstraints.CENTER, new Insets(5, 0, 0, 0)));

    // Select case type
    javax.swing.Action caseTypeAction = am.get("casetype");
    caseTypeButton = new StreamflowButton(caseTypeAction);
    caseTypeButton.registerKeyboardAction(caseTypeAction,
            (KeyStroke) caseTypeAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);
    caseTypeButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(caseTypeButton, cc.xy(1, 3));

    builder.add(valueBinder.bind("caseType", selectedCaseType, linkValueConverter), new CellConstraints(3, 3, 1,
            1, CellConstraints.LEFT, CellConstraints.CENTER, new Insets(5, 0, 0, 0)));

    // Select labels
    javax.swing.Action labelAction = labels.getActionMap().get("addLabel");
    labelButton = new StreamflowButton(labelAction);

    labelButton.registerKeyboardAction(labelAction,
            (KeyStroke) labelAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    labelButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(labelButton, cc.xy(1, 5, CellConstraints.FILL, CellConstraints.TOP));

    labels.setPreferredSize(new Dimension(500, 60));
    labels.setTextBold(true);
    labels.setButtonRelation(labelButton);
    builder.add(labels,
            new CellConstraints(3, 5, 1, 1, CellConstraints.LEFT, CellConstraints.TOP, new Insets(5, 0, 0, 0)));

    // Select form
    javax.swing.Action formAction = am.get("form");
    formButton = new StreamflowButton(formAction);

    formButton.registerKeyboardAction(formAction,
            (KeyStroke) formAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    formButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(formButton, cc.xy(1, 7, CellConstraints.FILL, CellConstraints.TOP));

    // Open replace selection field value editor
    javax.swing.Action replaceSelectionFieldValueAction = am.get("openReplaceSelectionFieldValueEditor");
    replaceSelectionFieldValueEditButton = new StreamflowButton(replaceSelectionFieldValueAction);

    /*replaceSelectionFieldValueEditButton.registerKeyboardAction( replaceSelectionFieldValueAction, (KeyStroke) replaceSelectionFieldValueAction
       .getValue( javax.swing.Action.ACCELERATOR_KEY ),
       JComponent.WHEN_IN_FOCUSED_WINDOW ); */

    replaceSelectionFieldValueEditButton.setHorizontalAlignment(SwingConstants.RIGHT);
    PanelBuilder panelBuilder = new PanelBuilder(new FormLayout("150dlu,5dlu,250:grow", "pref"));
    panelBuilder.add(valueBinder.bind("form", selectedForm, linkValueConverter));
    panelBuilder.nextColumn(2);
    panelBuilder.add(replaceSelectionFieldValueEditButton, new CellConstraints(3, 1, 1, 1,
            CellConstraints.RIGHT, CellConstraints.CENTER, new Insets(0, 0, 0, 0)));
    //panelBuilder.setBorder(BorderFactory.createLineBorder(Color.RED));

    builder.add(panelBuilder.getPanel()/*valueBinder.bind( "form", selectedForm, linkValueConverter )*/,
            new CellConstraints(3, 7, 1, 1, CellConstraints.LEFT, CellConstraints.CENTER,
                    new Insets(5, 0, 0, 0)));

    // Select template
    javax.swing.Action templateAction = am.get("template");
    templateButton = new StreamflowButton(templateAction);

    templateButton.registerKeyboardAction(templateAction,
            (KeyStroke) templateAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    templateButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(templateButton, cc.xy(1, 9, CellConstraints.FILL, CellConstraints.TOP));

    builder.add(valueBinder.bind("template", actionBinder.bind("removeTemplate", selectedTemplate)),
            new CellConstraints(3, 9, 1, 1, CellConstraints.LEFT, CellConstraints.CENTER,
                    new Insets(3, 0, 0, 0)));

    builder.add(new JLabel(text(AdministrationResources.cookieExpirationHours)),
            cc.xy(1, 13, CellConstraints.LEFT, CellConstraints.BOTTOM));
    builder.add(
            valueBinder.bind("cookieExpirationHours",
                    actionBinder.bind("changeCookieExpirationHours", cookieExpiration = new JTextField())),
            new CellConstraints(3, 13, 1, 1, CellConstraints.FILL, CellConstraints.BOTTOM,
                    new Insets(3, 0, 0, 0)));

    mailSelectionLabel.setText(text(AdministrationResources.changeMailSelectionMessage));
    mailSelectionLabel.setToolTipText(text(AdministrationResources.changeMailSelectionMessageHint));
    builder.add(mailSelectionLabel, cc.xy(1, 15, CellConstraints.LEFT, CellConstraints.BOTTOM));

    builder.add(
            valueBinder.bind("mailSelectionMessage",
                    actionBinder.bind("changeMailSelectionMessage", mailSelectionField)),
            new CellConstraints(3, 15, 1, 1, CellConstraints.FILL, CellConstraints.BOTTOM,
                    new Insets(3, 0, 0, 0)));

    PanelBuilder signPanel = new PanelBuilder(new FormLayout("180dlu, 15dlu, 180dlu", "default:grow"));
    CellConstraints signPanelCc = new CellConstraints();

    PanelBuilder primarySignPanel = new PanelBuilder(new FormLayout("180dlu",
            "pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, default:grow"));
    CellConstraints primaryCc = new CellConstraints();

    primarySignPanel.addSeparator(text(AdministrationResources.signature_1), primaryCc.xy(1, 1));

    primarySignPanel.add(valueBinder.bind("primarysign",
            actionBinder.bind("setSignActive1",
                    signActive1 = new JCheckBox(text(AdministrationResources.active))),
            new ValueBinder.Converter<RequiredSignatureValue, Boolean>() {
                public Boolean toComponent(RequiredSignatureValue value) {
                    return value != null ? value.active().get() : Boolean.FALSE;
                }
            }), primaryCc.xy(1, 3));

    primarySignPanel.addLabel(text(AdministrationResources.name_label), primaryCc.xy(1, 5));

    primarySignPanel.add(
            valueBinder.bind("primarysign", actionBinder.bind("setSignName1", signName1 = new JTextField()),
                    new ValueBinder.Converter<RequiredSignatureValue, String>() {
                        public String toComponent(RequiredSignatureValue value) {
                            return value != null ? value.name().get() : "";
                        }
                    }),
            primaryCc.xy(1, 7));
    refreshComponents.enabledOn("updateprimarysign", signName1);

    primarySignPanel.add(new JLabel(text(AdministrationResources.description_label)), primaryCc.xy(1, 9));

    primarySignPanel.add(valueBinder.bind("primarysign",
            actionBinder.bind("setSignDescription1", signDescription1 = new JTextField()),
            new ValueBinder.Converter<RequiredSignatureValue, String>() {
                public String toComponent(RequiredSignatureValue value) {
                    return value != null ? value.description().get() : "";
                }
            }), primaryCc.xy(1, 11));
    refreshComponents.enabledOn("updateprimarysign", signDescription1);

    signPanel.add(primarySignPanel.getPanel(), signPanelCc.xy(1, 1, CellConstraints.LEFT, CellConstraints.TOP));

    PanelBuilder secondarySignPanel = new PanelBuilder(new FormLayout("180dlu",
            "pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 12dlu, pref, 2dlu, pref, 2dlu, default:grow"));

    CellConstraints secondaryCc = new CellConstraints();

    secondarySignPanel.addSeparator(text(AdministrationResources.signature_2), secondaryCc.xy(1, 1));

    PanelBuilder secondaryOptionsPanel = new PanelBuilder(new FormLayout("70dlu,5dlu,70dlu,pref:grow", "pref"));
    secondaryOptionsPanel.add(valueBinder.bind("secondarysign",
            actionBinder.bind("setSignActive2",
                    signActive2 = new JCheckBox(text(AdministrationResources.active))),
            new ValueBinder.Converter<RequiredSignatureValue, Boolean>() {
                public Boolean toComponent(RequiredSignatureValue value) {
                    return value != null ? value.active().get() : Boolean.FALSE;
                }
            }), secondaryCc.xy(1, 1));
    refreshComponents.enabledOn("updatesecondarysignactive", signActive2);

    secondaryOptionsPanel.add(valueBinder.bind("secondarysign",
            actionBinder.bind("setSecondMandatory",
                    mandatory2 = new JCheckBox(text(AdministrationResources.mandatory))),
            new ValueBinder.Converter<RequiredSignatureValue, Boolean>() {
                public Boolean toComponent(RequiredSignatureValue value) {
                    return value != null ? value.mandatory().get() : Boolean.FALSE;
                }
            }), secondaryCc.xy(3, 1));
    refreshComponents.enabledOn("updatesecondarysign", mandatory2);

    secondarySignPanel.add(secondaryOptionsPanel.getPanel(), secondaryCc.xy(1, 3));

    secondarySignPanel.add(new JLabel(text(AdministrationResources.name_label)), secondaryCc.xy(1, 5));

    secondarySignPanel.add(
            valueBinder.bind("secondarysign", actionBinder.bind("setSignName2", signName2 = new JTextField()),
                    new ValueBinder.Converter<RequiredSignatureValue, String>() {
                        public String toComponent(RequiredSignatureValue value) {
                            return value != null ? value.name().get() : "";
                        }
                    }),
            secondaryCc.xy(1, 7));
    refreshComponents.enabledOn("updatesecondarysign", signName2);

    secondarySignPanel.add(new JLabel(text(AdministrationResources.description_label)), secondaryCc.xy(1, 9));

    secondarySignPanel.add(valueBinder.bind("secondarysign",
            actionBinder.bind("setSignDescription2", signDescription2 = new JTextField()),
            new ValueBinder.Converter<RequiredSignatureValue, String>() {
                public String toComponent(RequiredSignatureValue value) {
                    return value != null ? value.description().get() : "";
                }
            }), secondaryCc.xy(1, 11));
    refreshComponents.enabledOn("updatesecondarysign", signDescription2);

    // Select form
    javax.swing.Action form2Action = am.get("setSecondForm");
    form2Button = new StreamflowButton(form2Action);

    form2Button.registerKeyboardAction(form2Action,
            (KeyStroke) form2Action.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    form2Button.setHorizontalAlignment(SwingConstants.LEFT);
    refreshComponents.enabledOn("updatesecondarysign", form2Button);

    PanelBuilder form2ButtonPanel = new PanelBuilder(new FormLayout("70dlu, 5dlu, 150dlu:grow", "pref"));
    CellConstraints form2ButtonPanelCc = new CellConstraints();

    form2ButtonPanel.add(form2Button, form2ButtonPanelCc.xy(1, 1, CellConstraints.FILL, CellConstraints.TOP));

    form2ButtonPanel.add(valueBinder.bind("secondarysign", selectedForm2 = new JLabel(),
            new ValueBinder.Converter<RequiredSignatureValue, String>() {
                public String toComponent(RequiredSignatureValue value) {
                    return value != null ? value.formdescription().get() : "";
                }
            }), form2ButtonPanelCc.xy(3, 1, CellConstraints.LEFT, CellConstraints.CENTER));

    secondarySignPanel.add(form2ButtonPanel.getPanel(), secondaryCc.xy(1, 13));

    secondarySignPanel.add(new JLabel(text(AdministrationResources.question_label)), secondaryCc.xy(1, 17));

    secondarySignPanel.add(valueBinder.bind("secondarysign",
            actionBinder.bind("setQuestion", formQuestion2 = new JTextField()),
            new ValueBinder.Converter<RequiredSignatureValue, String>() {
                public String toComponent(RequiredSignatureValue value) {
                    return value != null ? value.question().get() : "";
                }
            }), secondaryCc.xy(1, 19));
    refreshComponents.enabledOn("updatesecondarysign", formQuestion2);

    signPanel.add(secondarySignPanel.getPanel(),
            signPanelCc.xy(3, 1, CellConstraints.LEFT, CellConstraints.TOP));

    builder.add(signPanel.getPanel(), new CellConstraints(1, 17, 3, 1, CellConstraints.FILL,
            CellConstraints.FILL, new Insets(0, 0, 0, 0)));

    JPanel templatePanel = new JPanel();
    templatePanel.setVisible(false);
    FormLayout templateFormLayout = new FormLayout("75dlu, 5dlu, fill:p:grow", "pref, pref, fill:p:grow, pref");
    DefaultFormBuilder templateFormBuilder = new DefaultFormBuilder(templateFormLayout, templatePanel);
    templateFormBuilder.addSeparator(text(AdministrationResources.emailTemplates));
    templateFormBuilder.nextLine();
    templateFormBuilder.append(text(AdministrationResources.subject),
            valueBinder.bind("subject", actionBinder.bind("changeSubject", subject = new JTextField())));
    templateFormBuilder.nextLine();
    templateFormBuilder.append(new JScrollPane(emailTemplateList));
    templateFormBuilder.append(new JScrollPane(actionBinder.bind("save", emailTemplateText)));
    templateFormBuilder.nextLine();

    emailTemplateList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                if (emailTemplateList.getSelectedIndex() != -1) {
                    emailTemplateText.setText(model.getAccessPointValue().messages().get()
                            .get(emailTemplateList.getSelectedValue()));
                }
            }
        }
    });

    refreshComponents.visibleOn("updatesecondarysign", templatePanel);

    builder.add(templatePanel, new CellConstraints(1, 19, 3, 1, CellConstraints.FILL, CellConstraints.FILL,
            new Insets(0, 0, 0, 0)));
    add(new JScrollPane(panel), BorderLayout.CENTER);

    new RefreshWhenShowing(this, this);
}

From source file:se.streamsource.streamflow.client.ui.administration.surface.EmailAccessPointView.java

License:Apache License

public void init(@Service ApplicationContext context, @Uses final EmailAccessPointModel model) {
    setActionMap(context.getActionMap(this));
    JPanel panel = new JPanel();
    this.setViewportView(panel);

    this.model = model;
    this.labels = module.objectBuilderFactory().newObjectBuilder(CaseLabelsView.class)
            .use(model.createLabelsModel()).newInstance();

    FormLayout layout = new FormLayout("75dlu, 5dlu, fill:p:grow",
            "pref, pref, pref, pref, pref, fill:p:grow, pref");
    DefaultFormBuilder formBuilder = new DefaultFormBuilder(layout, panel);

    formBuilder.append(projectButton = new StreamflowButton(getActionMap().get("project")));
    formBuilder.append(project = new JLabel());
    formBuilder.nextLine();/*from   w w  w  . j a v  a  2  s  . c o m*/
    formBuilder.append(casetypeButton = new StreamflowButton(getActionMap().get("casetype")));
    formBuilder.add(casetype, new CellConstraints(3, 2, 1, 1, CellConstraints.LEFT, CellConstraints.CENTER,
            new Insets(3, 0, 0, 0)));
    formBuilder.nextLine();
    formBuilder.append(labelsButton = new StreamflowButton(labels.getActionMap().get("addLabel")));
    formBuilder.add(labels, new CellConstraints(3, 3, 1, 1, CellConstraints.LEFT, CellConstraints.CENTER,
            new Insets(3, -3, 0, 0)));
    formBuilder.nextLine();
    formBuilder.addSeparator(i18n.text(AdministrationResources.emailTemplates));
    formBuilder.nextLine();
    formBuilder.append(i18n.text(AdministrationResources.subject), subject = new JTextField());
    formBuilder.nextLine();
    formBuilder.append(new JScrollPane(emailTemplateList));
    formBuilder.append(new JScrollPane(emailTemplateText));
    formBuilder.nextLine();

    emailTemplateList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                if (emailTemplateList.getSelectedIndex() != -1) {
                    emailTemplateText.setText(
                            model.getValue().messages().get().get(emailTemplateList.getSelectedValue()));
                }
            }
        }
    });

    ActionBinder actionBinder = new ActionBinder(getActionMap());
    actionBinder.bind("save", emailTemplateText);
    actionBinder.bind("changeSubject", subject);
    actionBinder.bind("removecasetype", casetype);

    new RefreshWhenShowing(this, this);
}

From source file:se.streamsource.streamflow.client.ui.administration.templates.SelectedTemplatesView.java

License:Apache License

public SelectedTemplatesView(@Service ApplicationContext appContext, @Uses SelectedTemplatesModel model,
        @Structure Module module) {/*w  ww .j a  v  a 2 s.co  m*/
    this.model = model;
    model.addObserver(this);

    selectedTemplatesBinder = module.objectBuilderFactory().newObject(StateBinder.class);
    selectedTemplatesBinder.addObserver(this);
    selectedTemplatesBinder.addConverter(new StateBinder.Converter() {
        public Object toComponent(Object value) {
            if (value instanceof LinkValue) {
                return ((LinkValue) value).text().get();
            } else
                return value;
        }

        public Object fromComponent(Object value) {
            return value;
        }
    });
    selectedTemplatesBinder.setResourceMap(appContext.getResourceMap(getClass()));
    SelectedTemplatesDTO template = selectedTemplatesBinder.bindingTemplate(SelectedTemplatesDTO.class);

    defaultTemplate.getLabel().setFont(defaultTemplate.getLabel().getFont().deriveFont(Font.BOLD));
    defaultTemplate.setPreferredSize(new Dimension(150, 25));

    formTemplate.getLabel().setFont(formTemplate.getLabel().getFont().deriveFont(Font.BOLD));
    formTemplate.setPreferredSize(new Dimension(150, 25));

    caseTemplate.getLabel().setFont(caseTemplate.getLabel().getFont().deriveFont(Font.BOLD));
    caseTemplate.setPreferredSize(new Dimension(150, 25));

    FormLayout layout = new FormLayout("80dlu, 5dlu, 150:grow",
            "pref, 2dlu, pref, 2dlu, pref, 2dlu, pref:grow");

    JPanel panel = new JPanel(layout);
    DefaultFormBuilder builder = new DefaultFormBuilder(layout, panel);
    builder.setBorder(Borders.createEmptyBorder(Sizes.DLUY8, Sizes.DLUX4, Sizes.DLUY2, Sizes.DLUX8));

    CellConstraints cc = new CellConstraints();

    setActionMap(appContext.getActionMap(this));
    MacOsUIWrapper.convertAccelerators(appContext.getActionMap(SelectedTemplatesView.class, this));

    ActionMap am = getActionMap();

    // Select default template
    javax.swing.Action defaultTemplateAction = am.get("defaultTemplate");
    defaultTemplateButton = new StreamflowButton(defaultTemplateAction);

    defaultTemplateButton.registerKeyboardAction(defaultTemplateAction,
            (KeyStroke) defaultTemplateAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    defaultTemplateButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(defaultTemplateButton, cc.xy(1, 3, CellConstraints.FILL, CellConstraints.TOP));

    builder.add(selectedTemplatesBinder.bind(defaultTemplate, template.defaultPdfTemplate()),
            new CellConstraints(3, 3, 1, 1, CellConstraints.LEFT, CellConstraints.TOP, new Insets(3, 0, 0, 0)));

    // Select form template
    javax.swing.Action formTemplateAction = am.get("formTemplate");
    formTemplateButton = new StreamflowButton(formTemplateAction);

    formTemplateButton.registerKeyboardAction(formTemplateAction,
            (KeyStroke) formTemplateAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    formTemplateButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(formTemplateButton, cc.xy(1, 5, CellConstraints.FILL, CellConstraints.TOP));

    builder.add(selectedTemplatesBinder.bind(formTemplate, template.formPdfTemplate()),
            new CellConstraints(3, 5, 1, 1, CellConstraints.LEFT, CellConstraints.TOP, new Insets(3, 0, 0, 0)));

    // Select case template
    javax.swing.Action caseTemplateAction = am.get("caseTemplate");
    caseTemplateButton = new StreamflowButton(caseTemplateAction);

    caseTemplateButton.registerKeyboardAction(caseTemplateAction,
            (KeyStroke) caseTemplateAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    caseTemplateButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(caseTemplateButton, cc.xy(1, 7, CellConstraints.FILL, CellConstraints.TOP));

    builder.add(selectedTemplatesBinder.bind(caseTemplate, template.casePdfTemplate()),
            new CellConstraints(3, 7, 1, 1, CellConstraints.LEFT, CellConstraints.TOP, new Insets(3, 0, 0, 0)));

    add(panel, BorderLayout.CENTER);

    selectedTemplatesBinder.updateWith(model.getSelectedTemplatesValue());

    new RefreshWhenShowing(this, model);
}

From source file:se.streamsource.streamflow.client.ui.workspace.cases.caselog.CaseLogListCellRenderer.java

License:Apache License

public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
        boolean cellHasFocus) {
    CaseLogEntryDTO entry = (CaseLogEntryDTO) value;

    JPanel renderer = new JPanel(new BorderLayout());
    FormLayout rowLayout = new FormLayout("30dlu, pref:grow, pref", "pref, fill:pref:grow");
    renderer.setLayout(rowLayout);//from   w w w  . jav a 2  s  .c  o m
    DefaultFormBuilder formBuilder = new DefaultFormBuilder(rowLayout, renderer);
    renderer.setBorder(new EmptyBorder(3, 3, 6, 3));

    // Icons
    JPanel icons = new JPanel(new BorderLayout());
    icons.setOpaque(false);
    if (entry.myPagesVisibility().get()) {
        icons.add(myPagesPublishedIcon, BorderLayout.WEST);
    }
    switch (entry.caseLogType().get()) {
    case system:
        icons.add(systemIcon, BorderLayout.EAST);
        break;
    case custom:
        icons.add(customIcon, BorderLayout.EAST);
        break;
    case contact:
        icons.add(contactIcon, BorderLayout.EAST);
        break;
    case form:
        icons.add(formIcon, BorderLayout.EAST);
        break;
    case conversation:
        icons.add(conversationIcon, BorderLayout.EAST);
        break;
    case attachment:
        icons.add(attachmentIcon, BorderLayout.EAST);
        break;
    default:
        break;
    }

    formBuilder.add(icons, new CellConstraints(1, 1, 1, 2, CellConstraints.RIGHT, CellConstraints.TOP,
            new Insets(0, 0, 0, 10)));
    // User
    JLabel user = new JLabel(entry.creator().get());
    user.setForeground(Color.GRAY);
    formBuilder.add(user, new CellConstraints(2, 1, 1, 1, CellConstraints.LEFT, CellConstraints.TOP));

    // Date
    JLabel date = new JLabel(
            DateFormats.getProgressiveDateTimeValue(entry.creationDate().get(), Locale.getDefault()));
    date.setForeground(Color.GRAY);
    formBuilder.add(date, new CellConstraints(3, 1, 1, 1, CellConstraints.RIGHT, CellConstraints.TOP));

    // Message
    String entryMessage = entry.message().get();
    if (!Strings.empty(entryMessage)) {
        entryMessage = String.format("<html><div WIDTH=%d>%s</div><html>", 500,
                entryMessage.trim().replace("\n", "<br>"));
    }
    JLabel message = new JLabel(entryMessage);
    message.setForeground(Color.BLACK);
    formBuilder.add(message, new CellConstraints(2, 2, 2, 1, CellConstraints.LEFT, CellConstraints.TOP));

    return renderer;
}

From source file:se.streamsource.streamflow.client.ui.workspace.cases.caselog.CaseLogView.java

License:Apache License

public CaseLogView(@Service final ApplicationContext context, @Uses CaseLogModel logmodel) {
    this.model = logmodel;

    setActionMap(context.getActionMap(this));

    // Load icons
    notPublishedIcon = icon(Icons.not_published, ICON_16);
    publishedIcon = icon(Icons.published, ICON_16);

    // Layout and form for the left panel
    FormLayout rightLayout = new FormLayout("30dlu, 300:grow, 50dlu, 20dlu", "pref, fill:pref:grow, 60dlu");
    setLayout(rightLayout);/*from  w ww .  j a  v  a  2  s.c  om*/
    setFocusable(false);
    DefaultFormBuilder rightBuilder = new DefaultFormBuilder(rightLayout, this);
    rightBuilder.setBorder(Borders.createEmptyBorder(Sizes.DLUY2, Sizes.DLUX2, Sizes.DLUY2, Sizes.DLUX2));

    JLabel caseLogLabel = new JLabel(i18n.text(WorkspaceResources.case_log));
    rightBuilder.add(caseLogLabel,
            new CellConstraints(1, 1, 2, 1, CellConstraints.LEFT, CellConstraints.TOP, new Insets(0, 0, 0, 0)));
    rightBuilder.nextColumn();

    filtersList = new SelectionList(
            Arrays.asList(system.name(), system_trace.name(), custom.name(), contact.name(), form.name(),
                    conversation.name(), attachment.name()),
            model.getSelectedFilters(), new ValueToLabelConverter() {
                public String convert(String value) {
                    return text(valueOf(value.toString()));
                }
            }, new ListSelectionListener() {

                public void valueChanged(ListSelectionEvent event) {
                    if (!event.getValueIsAdjusting()) {
                        String selectedValue = (String) ((JList) event.getSource()).getSelectedValue();
                        if (selectedValue != null) {
                            if (model.getSelectedFilters().contains(selectedValue)) {
                                model.getSelectedFilters().remove(selectedValue);
                            } else {
                                model.getSelectedFilters().add(selectedValue);
                            }
                            model.refresh();
                            ((JList) event.getSource()).clearSelection();
                        }
                    }
                }
            });

    filterPopupHandler = new StandardPopupHandler(CaseLogView.this, getActionMap().get("filter"),
            Position.right, false, new RefreshHandler() {
                public void refresh() {
                    model.refresh();
                    list.ensureIndexIsVisible(list.getModel().getSize() - 1);
                }
            });
    rightBuilder.add(filterPopupHandler.getButton(), new CellConstraints(3, 1, 1, 1, CellConstraints.RIGHT,
            CellConstraints.TOP, new Insets(0, 0, 0, 0)));

    filtersList.addFocusListener(new FocusAdapter() {
        @Override
        public void focusLost(FocusEvent e) {
            if (e.getOppositeComponent() != null
                    && (e.getOppositeComponent().equals(filterPopupHandler.getButton())))
                filterPopupHandler.kill();
        }
    });

    editButton = new StreamflowToggleButton(getActionMap().get("edit"));
    editButton.setMargin(new Insets(3, 7, 1, 5));
    rightBuilder.add(editButton, new CellConstraints(4, 1, 1, 1, CellConstraints.RIGHT, CellConstraints.TOP,
            new Insets(0, 0, 0, 0)));

    // Caselog
    rightBuilder.nextLine();
    ((JXList) list).addHighlighter(HighlighterFactory.createAlternateStriping());
    list.setModel(new EventListModel<CaseLogEntryDTO>(model.caselogs()));
    list.setCellRenderer(new CaseLogListCellRenderer());
    list.setFixedCellHeight(-1);
    list.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    final JList tmpList = list;
    list.addMouseListener(new MouseAdapter() {
        public void mousePressed(MouseEvent e) {
            if (e.isPopupTrigger()) {
                int index = tmpList.locationToIndex(new Point(e.getX(), e.getY()));
                if (tmpList.getSelectedIndex() != index) {
                    tmpList.setSelectedIndex(index);
                }

                final JPopupMenu menu = new JPopupMenu();
                JMenuItem item = new JMenuItem();
                item.setAction(context.getActionMap().get("copy"));
                item.setIcon(null);
                menu.add(item);

                final int x = e.getX();
                final int y = e.getY();
                final Component c = e.getComponent();
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        menu.show(c, x, y);
                    }
                });

            }
        }
    });

    scroll = new JScrollPane(list, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
            JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    scroll.setMinimumSize(new Dimension(250, 100));
    scroll.setPreferredSize(new Dimension(400, 300));
    rightBuilder.setExtent(3, 1);
    rightBuilder.add(scroll, new CellConstraints(1, 2, 4, 1, CellConstraints.FILL, CellConstraints.FILL,
            new Insets(0, 0, 0, 0)));

    // Add caselog message
    ImageIcon icon = i18n.icon(Icons.message_add, 24);
    rightBuilder.add(new JLabel(icon), new CellConstraints(1, 3, 1, 1, CellConstraints.LEFT,
            CellConstraints.TOP, new Insets(10, 10, 0, 0)));
    newMessageArea = new JTextArea(10, 30);
    newMessageArea.setLineWrap(true);
    newMessageArea.setWrapStyleWord(true);
    newMessagePane = new JScrollPane(newMessageArea);
    newMessagePane.setMinimumSize(new Dimension(10, 10));
    newMessagePane.setPreferredSize(new Dimension(10, 70));
    rightBuilder.add(newMessagePane, new CellConstraints(2, 3, 3, 1, CellConstraints.FILL, CellConstraints.TOP,
            new Insets(10, 0, 0, 0)));

    newMessageArea.addKeyListener(new KeyListener() {
        public void keyTyped(KeyEvent e) {
        }

        public void keyReleased(KeyEvent e) {
            if (e.getKeyCode() == 10) {
                if (!e.isControlDown()) {
                    newMessageArea.setText("");
                }
            }
        }

        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == 10) {
                if (e.isControlDown()) {
                    newMessageArea.append("\n");
                } else {
                    addMessage();
                }
            }
        }
    });

    listSelectionListener = new ListSelectionListener() {

        public void valueChanged(ListSelectionEvent event) {
            if (!event.getValueIsAdjusting()) {
                final CaseLogEntryDTO selectedValue = (CaseLogEntryDTO) ((JList) event.getSource())
                        .getSelectedValue();
                if (selectedValue != null) {
                    new CommandTask() {

                        @Override
                        protected void command() throws Exception {
                            model.togglepublish(selectedValue);
                        }
                    }.execute();
                    ((JList) event.getSource()).clearSelection();
                }
            }
        }
    };

    addHierarchyListener(new HierarchyListener() {
        public void hierarchyChanged(HierarchyEvent e) {
            if ((e.getChangeFlags() & HierarchyEvent.SHOWING_CHANGED) != 0 && !isShowing() && editMode) {
                editButton.setSelected(false);
                configureComponentsForEdit(false);
            }
        }
    });

    new RefreshWhenShowing(this, this);
}

From source file:se.streamsource.streamflow.client.ui.workspace.cases.contacts.ContactView.java

License:Apache License

public ContactView(@Service ApplicationContext appContext, @Structure Module module) {
    setLayout(layout);/*from w  ww .ja v a2  s  . c o  m*/

    context = appContext;
    setActionMap(context.getActionMap(this));

    add(new JLabel(), "EMPTY");

    DefaultComboBoxModel contactPreferenceModel = new DefaultComboBoxModel();
    for (ContactPreference preference : ContactPreference.values()) {
        contactPreferenceModel.addElement(preference);
    }
    contactPreferenceField.setModel(contactPreferenceModel);
    contactPreferenceField.setSelectedIndex(0);
    contactPreferenceField.setRenderer(new ListCellRenderer() {
        public Component getListCellRendererComponent(JList jList, Object o, int i, boolean b, boolean b1) {
            JLabel comp = new JLabel("null");
            if (o instanceof ContactPreference) {
                if (((ContactPreference) o) == ContactPreference.none) {
                    comp = new JLabel(" ");
                } else {
                    comp = new JLabel(i18n.text(WorkspaceResources.valueOf(((ContactPreference) o).name())));
                }
            }
            comp.setBorder(BorderFactory.createEmptyBorder(2, 4, 2, 0));
            return comp;
        }
    });

    viewBinder = module.objectBuilderFactory().newObject(ValueBinder.class);
    phoneViewBinder = module.objectBuilderFactory().newObject(ValueBinder.class);
    addressViewBinder = module.objectBuilderFactory().newObject(ValueBinder.class);
    emailViewBinder = module.objectBuilderFactory().newObject(ValueBinder.class);

    suggestModel = new StreetAddressSuggestModel();
    suggestAddress = new StreetAddressSuggestTextField(suggestModel, cityField, addressViewBinder);
    addressField = suggestAddress.getTextField();

    // Edit panel
    {
        FormLayout formLayout = new FormLayout("right:70dlu, 5dlu, 150dlu:grow",
                "pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, 5dlu, top:70dlu:grow, pref, pref");
        this.setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

        form = new JPanel();
        JScrollPane scrollPane = new JScrollPane(form);
        scrollPane.getVerticalScrollBar().setUnitIncrement(30);
        scrollPane.setBorder(BorderFactory.createEmptyBorder());
        DefaultFormBuilder builder = new DefaultFormBuilder(formLayout, form);

        contactBinder = module.objectBuilderFactory().newObject(StateBinder.class);
        contactBinder.setResourceMap(context.getResourceMap(getClass()));
        ContactDTO template = contactBinder.bindingTemplate(ContactDTO.class);

        phoneNumberBinder = module.objectBuilderFactory().newObject(StateBinder.class);
        phoneNumberBinder.setResourceMap(context.getResourceMap(getClass()));
        ContactPhoneDTO phoneTemplate = phoneNumberBinder.bindingTemplate(ContactPhoneDTO.class);

        addressBinder = module.objectBuilderFactory().newObject(StateBinder.class);
        addressBinder.setResourceMap(context.getResourceMap(getClass()));
        ContactAddressDTO addressTemplate = addressBinder.bindingTemplate(ContactAddressDTO.class);

        emailBinder = module.objectBuilderFactory().newObject(StateBinder.class);
        emailBinder.setResourceMap(context.getResourceMap(getClass()));
        ContactEmailDTO emailTemplate = emailBinder.bindingTemplate(ContactEmailDTO.class);

        builder.add(new StreamflowButton(getActionMap().get("view")));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.name_label));
        builder.nextColumn(2);
        builder.add(contactBinder.bind(defaultFocusField = (JTextField) TEXTFIELD.newField(), template.name()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.phone_label));
        builder.nextColumn(2);
        builder.add(phoneNumberBinder.bind(phoneField, phoneTemplate.phoneNumber()));
        builder.nextLine();

        builder.add(createLabel(WorkspaceResources.address_label));
        builder.nextColumn(2);
        builder.add(suggestAddress);
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.zip_label));
        builder.nextColumn(2);
        builder.add(addressBinder.bind(zipField, addressTemplate.zipCode()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.city_label));
        builder.nextColumn(2);
        builder.add(addressBinder.bind(cityField, addressTemplate.city()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.region_label));
        builder.nextColumn(2);
        builder.add(addressBinder.bind(regionField, addressTemplate.region()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.country_label));
        builder.nextColumn(2);
        builder.add(addressBinder.bind(countryField, addressTemplate.country()));
        builder.nextLine();

        builder.add(createLabel(WorkspaceResources.email_label));
        builder.nextColumn(2);
        builder.add(emailBinder.bind(emailField, emailTemplate.emailAddress()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.contact_id_label));
        builder.nextColumn(2);
        builder.add(contactBinder.bind(contactIdField, template.contactId()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.company_label));
        builder.nextColumn(2);
        builder.add(contactBinder.bind(companyField, template.company()));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.contact_preference_label));
        builder.nextColumn(2);
        builder.add(contactBinder.bind(contactPreferenceField, template.contactPreference()),
                new CellConstraints(3, 12, 1, 1, CellConstraints.LEFT, CellConstraints.TOP,
                        new Insets(5, 0, 0, 0)));
        builder.nextLine(2);
        builder.add(createLabel(WorkspaceResources.note_label));
        builder.nextColumn(2);
        builder.add(contactBinder.bind(TEXTAREA.newField(), template.note()));

        builder.nextLine(2);
        builder.nextColumn(2);
        lookupPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
        lookupPanel.add(new StreamflowButton(getActionMap().get("lookupContact")));
        builder.add(lookupPanel);

        contactBinder.addObserver(this);
        phoneNumberBinder.addObserver(this);
        addressBinder.addObserver(this);
        emailBinder.addObserver(this);
        add(scrollPane, "EDIT");
    }

    // View panel
    {
        FormLayout formLayout = new FormLayout("right:70dlu, 5dlu, 150dlu:grow",
                "pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, pref, 5dlu, top:70dlu:grow, pref, pref");
        this.setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));

        form = new JPanel();
        JScrollPane scrollPane = new JScrollPane(form);
        scrollPane.getVerticalScrollBar().setUnitIncrement(30);
        scrollPane.setBorder(BorderFactory.createEmptyBorder());
        DefaultFormBuilder builder = new DefaultFormBuilder(formLayout, form);

        builder.add(new StreamflowButton(getActionMap().get("edit")));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.name_label));
        builder.nextColumn(2);
        builder.add(viewBinder.bind("name", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.phone_label));
        builder.nextColumn(2);
        builder.add(phoneViewBinder.bind("phoneNumber", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();

        builder.add(createLabel(WorkspaceResources.address_label));
        builder.nextColumn(2);
        builder.add(addressViewBinder.bind("address", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.zip_label));
        builder.nextColumn(2);
        builder.add(addressViewBinder.bind("zipCode", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.city_label));
        builder.nextColumn(2);
        builder.add(addressViewBinder.bind("city", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.region_label));
        builder.nextColumn(2);
        builder.add(addressViewBinder.bind("region", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.country_label));
        builder.nextColumn(2);
        builder.add(addressViewBinder.bind("country", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();

        builder.add(createLabel(WorkspaceResources.email_label));
        builder.nextColumn(2);
        builder.add(emailViewBinder.bind("emailAddress", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.contact_id_label));
        builder.nextColumn(2);
        builder.add(viewBinder.bind("contactId", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.company_label));
        builder.nextColumn(2);
        builder.add(viewBinder.bind("company", visibleIfNotEmpty(new JLabel("!"))));
        builder.nextLine();
        builder.add(createLabel(WorkspaceResources.contact_preference_label));
        builder.nextColumn(2);
        builder.add(contactPreferenceLabel);

        builder.nextLine(2);
        builder.add(createLabel(WorkspaceResources.note_label));
        builder.nextColumn(2);
        builder.add(viewBinder.bind("note", visibleIfNotEmpty(new JLabel("!"))));

        add(scrollPane, "VIEW");
    }
}

From source file:se.streamsource.streamflow.client.ui.workspace.cases.general.CaseGeneralView.java

License:Apache License

public CaseGeneralView(@Service ApplicationContext appContext, @Uses CaseGeneralModel generalModel,
        @Uses CaseLogView caseLogView, @Structure Module module) {
    this.appContext = appContext;
    this.model = generalModel;
    RefreshComponents refreshComponents = new RefreshComponents();
    model.addObserver(refreshComponents);
    ObjectBuilderFactory obf = module.objectBuilderFactory();
    this.labels = obf.newObjectBuilder(CaseLabelsView.class).use(generalModel.newLabelsModel()).newInstance();
    this.caseNotes = obf.newObjectBuilder(CaseNoteView.class).use(generalModel.newCaseNoteModel())
            .newInstance();/*from  www.j av a 2s  . com*/

    RefreshComponents refreshLabelComponents = new RefreshComponents();
    labels.getModel().addObserver(refreshLabelComponents);

    this.forms = obf.newObjectBuilder(PossibleFormsView.class).use(generalModel.newPossibleFormsModel())
            .newInstance();
    refreshComponents.visibleOn("changedescription", forms);
    this.setBorder(BorderFactory.createEmptyBorder());
    getVerticalScrollBar().setUnitIncrement(30);

    setActionMap(appContext.getActionMap(this));
    ActionMap am = getActionMap();
    MacOsUIWrapper.convertAccelerators(appContext.getActionMap(CaseGeneralView.class, this));

    actionBinder = obf.newObjectBuilder(ActionBinder.class).use(am).newInstance();
    valueBinder = obf.newObject(ValueBinder.class);
    actionBinder.setResourceMap(appContext.getResourceMap(getClass()));

    // Layout and form for the right panel
    FormLayout leftLayout = new FormLayout("70dlu, 2dlu, 200:grow, 70dlu",
            "pref, pref, pref, pref, 20dlu, pref, pref, pref, pref");

    leftPane = new JPanel(leftLayout);
    leftPane.setFocusable(false);
    DefaultFormBuilder leftBuilder = new DefaultFormBuilder(leftLayout, leftPane);
    leftBuilder.setBorder(Borders.createEmptyBorder(Sizes.DLUY2, Sizes.DLUX2, Sizes.DLUY2, Sizes.DLUX11));

    selectedCaseType.getLabel().setFont(selectedCaseType.getLabel().getFont().deriveFont(Font.BOLD));
    selectedCaseType.getButton().addActionListener(am.get("removeCaseType"));
    valueBinder.bind("caseType", selectedCaseType);

    // Description & DueDate
    leftBuilder.setExtent(3, 1);
    JLabel descriptionLabel = leftBuilder.getComponentFactory()
            .createLabel(i18n.text(WorkspaceResources.description_label));
    leftBuilder.add(descriptionLabel);
    descriptionLabel.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0));
    leftBuilder.nextColumn(3);
    JLabel dueOnLabel = leftBuilder.append(i18n.text(WorkspaceResources.due_on_label));
    dueOnLabel.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0));

    leftBuilder.nextLine();
    leftBuilder.setExtent(3, 1);
    JPanel descPanel = new JPanel(new BorderLayout());
    descPanel.add(valueBinder.bind("description",
            actionBinder.bind("changeDescription", descriptionField = (JTextField) TEXTFIELD.newField())),
            BorderLayout.WEST);
    leftBuilder.add(descPanel);
    descriptionField.setName("txtCaseDescription");
    leftBuilder.add(
            valueBinder.bind("dueOn",
                    actionBinder.bind("changeDueOn", dueOnField = (JXDatePicker) DATEPICKER.newField())),
            new CellConstraints(4, 2, 1, 1, CellConstraints.LEFT, CellConstraints.BOTTOM,
                    new Insets(4, 0, 0, 0)));
    leftBuilder.nextLine();
    descriptionLabel.setLabelFor(descriptionField);
    dueOnLabel.setLabelFor(dueOnField);
    refreshComponents.enabledOn("changedescription", descriptionField);
    refreshComponents.enabledOn("changedueon", dueOnField);

    // Select case type
    javax.swing.Action caseTypeAction = am.get("changeCaseType");
    caseTypeButton = new StreamflowButton(caseTypeAction);
    caseTypeButton.registerKeyboardAction(caseTypeAction,
            (KeyStroke) caseTypeAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);
    caseTypeButton.setHorizontalAlignment(SwingConstants.LEFT);
    refreshComponents.enabledOn("casetype", caseTypeButton, selectedCaseType);

    leftBuilder.add(caseTypeButton,
            new CellConstraints(1, 3, 1, 1, CellConstraints.FILL, CellConstraints.TOP, new Insets(2, 0, 5, 0)));
    leftBuilder.add(selectedCaseType, new CellConstraints(3, 3, 1, 1, CellConstraints.LEFT,
            CellConstraints.BOTTOM, new Insets(5, 5, 0, 0)));

    JLabel priorityLabel = leftBuilder.getComponentFactory()
            .createLabel(i18n.text(WorkspaceResources.priority_label));
    priorityLabel.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0));

    leftBuilder.add(priorityLabel, new CellConstraints(4, 3, 1, 1, CellConstraints.FILL, CellConstraints.BOTTOM,
            new Insets(4, 0, 0, 0)));

    leftBuilder.nextLine();

    // Select labels
    javax.swing.Action labelAction = labels.getActionMap().get("addLabel");
    labelButton = new StreamflowButton(labelAction);
    // NotificationGlassPane.registerButton(labelButton);
    labelButton.registerKeyboardAction(labelAction,
            (KeyStroke) labelAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    labelButton.setHorizontalAlignment(SwingConstants.LEFT);
    labels.setButtonRelation(labelButton);
    refreshLabelComponents.enabledOn("addlabel", labelButton, labels);

    leftBuilder.add(labelButton,
            new CellConstraints(1, 4, 1, 1, CellConstraints.FILL, CellConstraints.TOP, new Insets(5, 0, 0, 0)));

    labels.setPreferredSize(new Dimension(500, 50));
    leftBuilder.add(labels,
            new CellConstraints(3, 4, 1, 1, CellConstraints.LEFT, CellConstraints.TOP, new Insets(5, 0, 0, 0)));

    JPanel prioPanel = new JPanel(new BorderLayout());
    prioPanel.add(valueBinder.bind("priority",
            actionBinder.bind("changePriority", casePriority = (JComboBox) COMBOBOX.newField())));
    leftBuilder.add(prioPanel, new CellConstraints(4, 4, 1, 1, CellConstraints.FILL, CellConstraints.TOP,

            new Insets(2, 0, 0, 0)));

    priorityLabel.setLabelFor(casePriority);
    refreshComponents.visibleOn("changepriority", casePriority, priorityLabel);
    refreshComponents.enabledOn("changepriority", casePriority, priorityLabel);
    casePriority.setRenderer(new DefaultListCellRenderer() {
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected,
                boolean cellHasFocus) {

            final PriorityValue itemValue = (PriorityValue) value;
            String val = itemValue == null ? "" : itemValue.text().get();

            JPanel panel = new JPanel();
            panel.setOpaque(false);
            FormLayout layout = new FormLayout("10dlu, 60dlu:grow", "pref");
            DefaultFormBuilder formBuilder = new DefaultFormBuilder(layout, panel);

            panel.setBorder(BorderFactory.createEmptyBorder(2, 0, 1, 0));
            JLabel label = new JLabel() {
                @Override
                protected void paintComponent(Graphics g) {
                    Color color = getBackground();
                    if (itemValue != null) {
                        if (!Strings.empty(itemValue.color().get()))
                            color = new Color(parseInt(itemValue.color().get()));
                        else
                            color = Color.BLACK;
                    }
                    final Color FILL_COLOR = ColorUtil.removeAlpha(color);

                    Graphics2D g2 = (Graphics2D) g.create();

                    try {
                        g2.setRenderingHint(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON);
                        g2.setColor(Color.LIGHT_GRAY);
                        final int DIAM = Math.min(getWidth(), getHeight());
                        final int inset = 3;
                        g2.fill(new Ellipse2D.Float(inset, inset, DIAM - 2 * inset, DIAM - 2 * inset));
                        g2.setColor(FILL_COLOR);
                        final int border = 1;
                        g2.fill(new Ellipse2D.Float(inset + border, inset + border,
                                DIAM - 2 * inset - 2 * border, DIAM - 2 * inset - 2 * border));
                    } finally {
                        g2.dispose();
                    }
                }
            };
            label.setPreferredSize(new Dimension(10, 10));
            formBuilder.add((Strings.empty(val) || "-".equals(val)) ? new JLabel() : label, new CellConstraints(
                    1, 1, 1, 1, CellConstraints.FILL, CellConstraints.FILL, new Insets(0, 0, 0, 0)));
            JLabel text = new JLabel(val);
            formBuilder.add(text, new CellConstraints(2, 1, 1, 1, CellConstraints.LEFT, CellConstraints.FILL,
                    new Insets(0, 0, 0, 0)));

            return panel;
        }
    });
    leftBuilder.nextLine();

    leftBuilder.add(caseNotes,
            new CellConstraints(1, 6, 4, 1, CellConstraints.FILL, CellConstraints.TOP, new Insets(0, 2, 5, 0)));

    // Forms
    JLabel formsLabel = new JLabel(i18n.text(WorkspaceResources.forms_label));
    refreshComponents.visibleOn("changedescription", formsLabel);
    leftBuilder.add(formsLabel,
            new CellConstraints(1, 7, 1, 1, CellConstraints.LEFT, CellConstraints.TOP, new Insets(5, 0, 0, 0)));
    leftBuilder.nextLine();

    JPanel formsPanel = new JPanel(new BorderLayout());
    formsPanel.add(forms, BorderLayout.WEST);
    leftBuilder.add(formsPanel, new CellConstraints(1, 8, 3, 1, CellConstraints.FILL, CellConstraints.FILL,
            new Insets(5, 0, 0, 0)));

    // Limit pickable dates to future
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(new Date());
    calendar.add(Calendar.DAY_OF_MONTH, 1);
    dueOnField.getMonthView().setLowerBound(calendar.getTime());

    final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT);
    dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
    dueOnField.getEditor().setFormatterFactory(
            new DefaultFormatterFactory(new DatePickerFormatter(new DateFormat[] { dateFormat }) {
                @Override
                public Object stringToValue(String text) throws ParseException {
                    Object result;
                    try {
                        result = super.stringToValue(text);
                    } catch (ParseException pe) {
                        dialogs.showMessageDialog(dueOnField,
                                text(WorkspaceResources.wrong_format_msg) + " "
                                        + ((SimpleDateFormat) dateFormat).toPattern(),
                                text(WorkspaceResources.wrong_format_title));
                        throw pe;
                    }
                    return result;
                }
            }));

    // Main panel that contains both left and right pane
    JPanel formsContainer = new JPanel();
    formsContainer.setLayout(new GridLayout(1, 2));
    formsContainer.setBorder(Borders.createEmptyBorder("2dlu, 2dlu, 2dlu, 2dlu"));
    formsContainer.add(leftPane);
    formsContainer.add(caseLogView);

    setViewportView(formsContainer);

    setFocusTraversalPolicy(new LayoutFocusTraversalPolicy());
    setFocusCycleRoot(true);
    setFocusable(true);

    new RefreshWhenShowing(this, this);
}

From source file:se.streamsource.streamflow.client.ui.workspace.table.CasesTableView.java

License:Apache License

public void init(final @Service ApplicationContext context, @Uses CasesTableModel casesTableModel,
        final @Uses TableFormat tableFormat, @Optional @Uses JTextField searchField) {
    setLayout(new BorderLayout());

    this.context = context;
    this.model = casesTableModel;
    this.tableFormat = tableFormat;

    ActionMap am = context.getActionMap(CasesTableView.class, this);
    setActionMap(am);//from   w w w. j a v a2 s  .  c om
    MacOsUIWrapper.convertAccelerators(context.getActionMap(CasesTableView.class, this));

    // Filter
    filter = module.objectBuilderFactory().newObjectBuilder(PerspectiveView.class).use(model, searchField)
            .newInstance();
    add(filter, BorderLayout.NORTH);

    // Table
    // Trigger creation of filters and table model
    caseTable = new SeparatorTable(null) {
        public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
            Component c = super.prepareRenderer(renderer, row, column);

            //  add custom rendering here
            EventTableModel model = (EventTableModel) getModel();
            if (model.getElementAt(row) instanceof CaseTableValue) {

                Map attributes = c.getFont().getAttributes();
                if (((CaseTableValue) model.getElementAt(row)).removed().get()) {
                    attributes.put(TextAttribute.STRIKETHROUGH, TextAttribute.STRIKETHROUGH_ON);
                } else if (((CaseTableValue) model.getElementAt(row)).unread().get()) {
                    attributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
                }
                c.setFont(new Font(attributes));
            }

            return c;
        }
    };
    caseTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    caseTable.getActionMap().getParent().setParent(am);
    caseTable.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
            KeyboardFocusManager.getCurrentKeyboardFocusManager()
                    .getDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));
    caseTable.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
            KeyboardFocusManager.getCurrentKeyboardFocusManager()
                    .getDefaultFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS));

    caseTable.getActionMap().remove("column.horizontalScroll");
    caseTable.getActionMap().remove("column.packAll");
    caseTable.getActionMap().remove("column.packSelected");
    caseTable.setColumnControlVisible(true);

    caseTable.setModel(new EventJXTableModel<CaseTableValue>(model.getEventList(), tableFormat));

    model.addObserver(new Observer() {
        public void update(Observable o, Object arg) {
            if (model.getGroupBy() == GroupBy.none) {
                caseTable.setModel(new EventJXTableModel<CaseTableValue>(model.getEventList(), tableFormat));
            } else {
                SeparatorList<CaseTableValue> groupingList = new SeparatorList<CaseTableValue>(
                        model.getEventList(), groupingComparator, 1, 10000);
                caseTable.setModel(new EventJXTableModel<CaseTableValue>(groupingList, tableFormat));
            }

            if (!model.containsCaseWithPriority()) {
                model.addInvisibleColumn(8);
            }

            for (Integer invisibleCol : model.getInvisibleColumns()) {
                TableColumnModelExt tm = (TableColumnModelExt) caseTable.getColumnModel();
                if (tm.getColumnExt(invisibleCol).isVisible())
                    caseTable.getColumnExt(invisibleCol).setVisible(false);
            }

        }
    });

    caseTable.getColumn(0).setPreferredWidth(500);
    caseTable.getColumn(1).setPreferredWidth(70);
    caseTable.getColumn(1).setMaxWidth(70);
    caseTable.getColumn(1).setResizable(false);
    caseTable.getColumn(2).setPreferredWidth(300);
    caseTable.getColumn(2).setMaxWidth(300);
    caseTable.getColumn(3).setPreferredWidth(150);
    caseTable.getColumn(3).setMaxWidth(150);
    caseTable.getColumn(4).setPreferredWidth(90);
    caseTable.getColumn(4).setMaxWidth(90);
    caseTable.getColumn(5).setPreferredWidth(150);
    caseTable.getColumn(5).setMaxWidth(150);
    caseTable.getColumn(6).setPreferredWidth(90);
    caseTable.getColumn(6).setMaxWidth(90);
    caseTable.getColumn(7).setPreferredWidth(150);
    caseTable.getColumn(7).setMaxWidth(150);
    caseTable.getColumn(7).setResizable(false);
    caseTable.getColumn(8).setPreferredWidth(100);
    caseTable.getColumn(8).setMaxWidth(100);
    caseTable.getColumn(9).setMaxWidth(50);
    caseTable.getColumn(9).setResizable(false);

    caseTable.setAutoCreateColumnsFromModel(false);

    int count = 0;
    for (TableColumn c : caseTable.getColumns()) {
        c.setIdentifier((Integer) count);
        count++;

        c.addPropertyChangeListener(new PropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent evt) {
                if ("visible".equals(evt.getPropertyName())) {
                    TableColumnExt columnExt = (TableColumnExt) evt.getSource();

                    if (columnExt.isVisible()) {
                        model.removeInvisibleColumn(columnExt.getModelIndex());
                    } else {
                        model.addInvisibleColumn(columnExt.getModelIndex());
                    }
                }
            }
        });
    }

    JScrollPane caseScrollPane = new JScrollPane(caseTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
            JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

    add(caseScrollPane, BorderLayout.CENTER);

    caseTable.setDefaultRenderer(Date.class, new DefaultTableRenderer(new StringValue() {
        private static final long serialVersionUID = 4782416330896582518L;

        public String getString(Object value) {
            return value != null ? DateFormats.getProgressiveDateTimeValue((Date) value, Locale.getDefault())
                    : "";
        }
    }));
    caseTable.setDefaultRenderer(ArrayList.class, new DefaultTableCellRenderer() {

        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column) {
            if (value == null)
                return this;
            if (value instanceof SeparatorList.Separator)
                return caseTable.getDefaultRenderer(SeparatorList.Separator.class)
                        .getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

            JPanel renderer = new JPanel(new FlowLayout(FlowLayout.LEFT));

            ArrayList<String> icons = (ArrayList<String>) value;
            for (String icon : icons) {
                ImageIcon image = i18n.icon(Icons.valueOf(icon), 11);
                JLabel iconLabel = image != null ? new JLabel(image, SwingConstants.LEADING)
                        : new JLabel("   ");
                renderer.add(iconLabel);
            }
            if (isSelected)
                renderer.setBackground(table.getSelectionBackground());
            return renderer;
        }
    });
    caseTable.setDefaultRenderer(CaseStates.class, new DefaultTableCellRenderer() {
        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column) {
            if (value == null)
                return this;

            EventTableModel model = (EventTableModel) table.getModel();
            boolean hasResolution = !Strings
                    .empty(((CaseTableValue) model.getElementAt(row)).resolution().get());
            boolean removed = ((CaseTableValue) model.getElementAt(row)).removed().get();

            String iconName = hasResolution
                    ? "case_status_withresolution_" + value.toString().toLowerCase() + "_icon"
                    : "case_status_" + value.toString().toLowerCase() + "_icon";

            iconName = removed ? "case_status_draft_icon" : iconName;

            JLabel renderedComponent = (JLabel) super.getTableCellRendererComponent(table, value, isSelected,
                    hasFocus, row, column);
            renderedComponent.setHorizontalAlignment(SwingConstants.CENTER);
            setText(null);

            setIcon(i18n.icon(CaseResources.valueOf(iconName), i18n.ICON_16));
            setName(i18n
                    .text(CaseResources.valueOf("case_status_" + value.toString().toLowerCase() + "_text")));
            setToolTipText(i18n
                    .text(CaseResources.valueOf("case_status_" + value.toString().toLowerCase() + "_text")));

            return this;
        }
    });

    caseTable.setDefaultRenderer(PriorityValue.class, new DefaultTableCellRenderer() {
        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column) {
            final PriorityValue priority = (PriorityValue) value;
            String val = priority == null ? "" : priority.text().get();

            JPanel panel = new JPanel();
            FormLayout layout = new FormLayout("10dlu, 50dlu:grow", "pref");
            DefaultFormBuilder formBuilder = new DefaultFormBuilder(layout, panel);

            panel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
            JLabel label = new JLabel() {
                @Override
                protected void paintComponent(Graphics g) {
                    Color color = getBackground();
                    if (priority != null) {
                        if (!Strings.empty(priority.color().get()))
                            color = new Color(parseInt(priority.color().get()));
                        else
                            color = Color.BLACK;
                    }
                    final Color FILL_COLOR = ColorUtil.removeAlpha(color);

                    Graphics2D g2 = (Graphics2D) g.create();

                    try {
                        g2.setRenderingHint(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON);
                        g2.setColor(Color.LIGHT_GRAY);
                        final int DIAM = Math.min(getWidth(), getHeight());
                        final int inset = 3;
                        g2.fill(new Ellipse2D.Float(inset, inset, DIAM - 2 * inset, DIAM - 2 * inset));
                        g2.setColor(FILL_COLOR);
                        final int border = 1;
                        g2.fill(new Ellipse2D.Float(inset + border, inset + border,
                                DIAM - 2 * inset - 2 * border, DIAM - 2 * inset - 2 * border));
                    } finally {
                        g2.dispose();
                    }
                }
            };
            label.setPreferredSize(new Dimension(10, 10));
            //label.setBorder( BorderFactory.createLineBorder( Color.RED ) );
            formBuilder.add((Strings.empty(val) || "-".equals(val)) ? new JLabel() : label, new CellConstraints(
                    1, 1, 1, 1, CellConstraints.FILL, CellConstraints.FILL, new Insets(0, 0, 0, 0)));
            JLabel text = new JLabel(val);
            //text.setBorder( BorderFactory.createLineBorder( Color.RED ) );
            formBuilder.add(text, new CellConstraints(2, 1, 1, 1, CellConstraints.LEFT, CellConstraints.FILL,
                    new Insets(0, 0, 0, 0)));

            if (isSelected) {
                panel.setBackground(table.getSelectionBackground());
                text.setForeground(table.getSelectionForeground());
            }
            return panel;
        }
    });
    caseTable.setDefaultRenderer(SeparatorList.Separator.class, new DefaultTableCellRenderer() {
        @Override
        public Component getTableCellRendererComponent(JTable table, Object separator, boolean isSelected,
                boolean hasFocus, int row, int column) {
            String value = "";
            boolean emptyDescription = false;
            switch (model.getGroupBy()) {
            case caseType:
                emptyDescription = Strings.empty(
                        ((CaseTableValue) ((SeparatorList.Separator) separator).first()).caseType().get());
                value = !emptyDescription
                        ? ((CaseTableValue) ((SeparatorList.Separator) separator).first()).caseType().get()
                        : text(WorkspaceResources.no_casetype);
                break;
            case assignee:
                emptyDescription = Strings.empty(
                        ((CaseTableValue) ((SeparatorList.Separator) separator).first()).assignedTo().get());
                value = !emptyDescription
                        ? ((CaseTableValue) ((SeparatorList.Separator) separator).first()).assignedTo().get()
                        : text(WorkspaceResources.no_assignee);
                break;
            case project:
                emptyDescription = Strings
                        .empty(((CaseTableValue) ((SeparatorList.Separator) separator).first()).owner().get());
                value = !emptyDescription
                        ? ((CaseTableValue) ((SeparatorList.Separator) separator).first()).owner().get()
                        : text(WorkspaceResources.no_project);
                break;
            case dueOn:
                value = text(dueGroups[dueOnGroup(
                        ((CaseTableValue) ((SeparatorList.Separator) separator).first()).dueOn().get())]);
                break;
            case priority:
                emptyDescription = ((CaseTableValue) ((SeparatorList.Separator) separator).first()).priority()
                        .get() == null
                        || Strings.empty(((CaseTableValue) ((SeparatorList.Separator) separator).first())
                                .priority().get().color().get());
                value = !emptyDescription ? ((CaseTableValue) ((SeparatorList.Separator) separator).first())
                        .priority().get().text().get() : text(WorkspaceResources.no_priority);
                break;
            }

            Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row,
                    column);
            component.setFont(component.getFont().deriveFont(Font.BOLD + Font.ITALIC));
            component.setBackground(Color.lightGray);
            return component;
        }
    });

    AbstractHighlighter separatorHighlighter = (AbstractHighlighter) HighlighterFactory
            .createSimpleStriping(HighlighterFactory.QUICKSILVER);
    separatorHighlighter.setHighlightPredicate(
            new HighlightPredicate.TypeHighlightPredicate(SeparatorList.Separator.class));
    caseTable.addHighlighter(HighlighterFactory.createAlternateStriping());
    caseTable.addHighlighter(separatorHighlighter);

    addFocusListener(new FocusAdapter() {
        public void focusGained(FocusEvent e) {
            caseTable.requestFocusInWindow();
        }
    });

    model.getEventList().addListEventListener(new ListEventListener<CaseTableValue>() {
        public void listChanged(ListEvent<CaseTableValue> listChanges) {
            // Synchronize lists
            Set<String> labels = new HashSet<String>();
            Set<String> assignees = new HashSet<String>();
            Set<String> projects = new HashSet<String>();
            for (CaseTableValue caseTableValue : listChanges.getSourceList()) {
                for (LinkValue linkValue : caseTableValue.labels().get().links().get()) {
                    labels.add(linkValue.text().get());
                }

                assignees.add(caseTableValue.assignedTo().get());
                projects.add(caseTableValue.owner().get());
            }
            List<String> sortedLabels = new ArrayList<String>(labels);
            List<String> sortedAssignees = new ArrayList<String>(assignees);
            List<String> sortedProjects = new ArrayList<String>(projects);
            Collections.sort(sortedLabels);
            Collections.sort(sortedAssignees);
            Collections.sort(sortedProjects);
            sortedLabels.add(0, text(WorkspaceResources.all));
            sortedAssignees.add(0, text(WorkspaceResources.all));
            sortedProjects.add(0, text(WorkspaceResources.all));
        }
    });

    addHierarchyListener(new HierarchyListener() {
        public void hierarchyChanged(HierarchyEvent e) {
            if ((e.getChangeFlags() & HierarchyEvent.SHOWING_CHANGED) > 0) {
                if (CasesTableView.this.isShowing()) {
                    context.getActionMap().get("savePerspective").setEnabled(true);
                }
            }
        }
    });
    new RefreshWhenShowing(this, model);
}

From source file:torpedo.LoginForm.java

public LoginForm(MainFrame frame) {

    userNameLbl = new JLabel("Felhasznlnv:");
    userName = new JTextField(20);
    pwdLbl = new JLabel("Jelsz:");
    pwd = new JPasswordField(20);
    loginBtn = new JButton("Bejelentlezs");
    regBtn = new JButton("Regisztrci");
    errorMsgLbl = new JLabel();
    errorMsgLbl.setForeground(Color.red);

    this.frame = frame;
    this.setLayout(new FormLayout("100px, 250px, 200px", "100px, 70px, 70px, 70px, 100px"));
    CellConstraints c = new CellConstraints();
    this.add(errorMsgLbl, c.xy(2, 1, CellConstraints.LEFT, CellConstraints.BOTTOM));
    this.add(userNameLbl, c.xy(2, 2, CellConstraints.LEFT, CellConstraints.CENTER));
    this.add(userName, c.xy(2, 2, CellConstraints.LEFT, CellConstraints.BOTTOM));
    this.add(pwdLbl, c.xy(2, 3, CellConstraints.LEFT, CellConstraints.CENTER));
    this.add(pwd, c.xy(2, 3, CellConstraints.LEFT, CellConstraints.BOTTOM));
    this.add(loginBtn, c.xy(2, 4, CellConstraints.LEFT, CellConstraints.BOTTOM));
    this.add(regBtn, c.xy(2, 4, CellConstraints.RIGHT, CellConstraints.BOTTOM));

    loginBtn.addMouseListener(new LoginEvent(this.frame));
    regBtn.addMouseListener(new MouseAdapter() {
        @Override/*from   w w  w  . j  av a  2 s .  c  om*/
        public void mouseClicked(MouseEvent e) {
            frame.showCard("regForm");
            //SettingsForm s=new SettingsForm();
        }
    });
}

From source file:torpedo.RegForm.java

public RegForm(MainFrame frame) {
    userNameLbl = new JLabel("Felhasznlnv:");
    userName = new JTextField(20);
    nickNameLbl = new JLabel("Becenv:");
    nickName = new JTextField(20);
    countryLbl = new JLabel("Orszg:");
    country = new JComboBox();
    pwdLbl = new JLabel("Jelsz:");
    pwd = new JPasswordField(20);
    confPwdLbl = new JLabel("Jelsz megerstse:");
    confPwd = new JPasswordField(20);
    errorMsgLbl = new JLabel();
    errorMsgLbl.setForeground(Color.red);
    regBtn = new JButton("Regisztrls");
    backBtn = new JButton("<< Vissza");

    for (int i = 0; i < 10; i++) {
        country.addItem(new ComboItem("Visible String " + i, "Value " + i));
    }/*from   w  w w  .  ja v a 2s .  c  o m*/

    this.frame = frame;
    this.setLayout(new FormLayout("100px, 350px, 200px", "70px, 70px, 70px, 70px, 70px, 70px, 70px"));
    CellConstraints c = new CellConstraints();
    this.add(errorMsgLbl, c.xy(2, 1, CellConstraints.LEFT, CellConstraints.CENTER));
    this.add(userNameLbl, c.xy(2, 2, CellConstraints.LEFT, CellConstraints.CENTER));
    this.add(userName, c.xy(2, 2, CellConstraints.LEFT, CellConstraints.BOTTOM));
    this.add(nickName, c.xy(2, 3, CellConstraints.LEFT, CellConstraints.BOTTOM));
    this.add(nickNameLbl, c.xy(2, 3, CellConstraints.LEFT, CellConstraints.CENTER));
    this.add(country, c.xy(2, 4, CellConstraints.LEFT, CellConstraints.BOTTOM));
    this.add(countryLbl, c.xy(2, 4, CellConstraints.LEFT, CellConstraints.CENTER));
    this.add(pwdLbl, c.xy(2, 5, CellConstraints.LEFT, CellConstraints.CENTER));
    this.add(pwd, c.xy(2, 5, CellConstraints.LEFT, CellConstraints.BOTTOM));
    this.add(confPwdLbl, c.xy(2, 6, CellConstraints.LEFT, CellConstraints.CENTER));
    this.add(confPwd, c.xy(2, 6, CellConstraints.LEFT, CellConstraints.BOTTOM));

    this.add(regBtn, c.xy(2, 7, CellConstraints.RIGHT, CellConstraints.BOTTOM));
    this.add(backBtn, c.xy(2, 7, CellConstraints.LEFT, CellConstraints.BOTTOM));

    regBtn.addMouseListener(new RegEvent(this.frame));
    backBtn.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            frame.showCard("loginForm");
        }
    });

}