List of usage examples for com.jgoodies.forms.builder PanelBuilder nextColumn
public final void nextColumn(int columns)
From source file:de.htwk_leipzig.naoteam.motion.editor.gui.action.ActionCreateCalcKeyFrame.java
License:Open Source License
private void createUI(final NaoFrame[] frames, final int srcPos, final int toPos) { final JDialog dialog = new JDialog(app.getMainWindow(), "Select Frame", true); dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); final JSlider slider = new JSlider(0, frames.length - 1); slider.setValue(0);/* ww w . j a v a 2 s . co m*/ slider.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { try { comm.playFrame(frames[slider.getValue()]); } catch (Exception e1) { e1.printStackTrace(); } } }); final JButton btnOk = new JButton("Ok"); btnOk.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { app.getFrameList().add(toPos, frames[slider.getValue()]); dialog.setVisible(false); dialog.dispose(); } }); final JButton btnCancel = new JButton("Cancel"); btnCancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dialog.setVisible(false); dialog.dispose(); } }); FormLayout layout = new FormLayout("left:pref, $lcgap, fill:640px:grow", "pref, $lgap, pref"); PanelBuilder builder = new PanelBuilder(layout /*, new FormDebugPanel() */); builder.addLabel("Frame:"); builder.nextColumn(2); builder.add(slider); builder.nextRow(2); builder.add(ButtonBarFactory.buildOKCancelBar(btnOk, btnCancel)); builder.setDefaultDialogBorder(); dialog.add(builder.getPanel()); dialog.pack(); final Dimension paneSize = dialog.getSize(); final Dimension screenSize = dialog.getToolkit().getScreenSize(); dialog.setLocation((screenSize.width - paneSize.width) / 2, (int) ((screenSize.height - paneSize.height) * 0.45)); dialog.setVisible(true); }
From source file:edu.udo.scaffoldhunter.gui.dataimport.ImportDialog.java
License:Open Source License
private JPanel buildDatasetNamePanel() { PanelBuilder builder = new PanelBuilder( new FormLayout("p,3dlu, p:g(0.5),10dlu,p,3dlu,p:g(1.0)", "max(p;60dlu)")); builder.addLabel(_("DataImport.DatasetName")); builder.nextColumn(2); datasetName = new JTextField(); datasetName.setDocument(importProcess.getDatasetNameDocument()); datasetName.getDocument().addDocumentListener(this); datasetName.setColumns(20);/* w ww .j a va 2s . com*/ SelectAllOnFocus.addTo(datasetName); builder.add(datasetName); builder.nextColumn(2); builder.addLabel(_("DataImport.DatasetDescription")); builder.nextColumn(2); datasetDescription = new JTextArea(importProcess.getDatasetDescriptionDocument()); datasetDescription.setLineWrap(true); /* * set preferredSize und minimumSize explicitly. Otherwise the textarea * will grow but won't shrink again as the preferred size would have * grown */ JScrollPane p = new JScrollPane(datasetDescription); p.setMinimumSize(p.getMinimumSize()); p.setPreferredSize(p.getPreferredSize()); builder.add(p, CC.xy(7, 1, "f, f")); return builder.getPanel(); }
From source file:org.cds06.speleograph.graph.ValueAxisEditor.java
License:Open Source License
/** * {@inheritDoc}//from ww w . j a v a2s . com */ @Override protected void setup() { PanelBuilder builder = new PanelBuilder(getFormLayout(), getPanel()); CellConstraints cc = new CellConstraints(); Dimension d = maxModifier.getPreferredSize(); maxModifier.setPreferredSize(new Dimension(d.width + 50, d.height)); d = minModifier.getPreferredSize(); minModifier.setPreferredSize(new Dimension(d.width + 50, d.height)); { builder.add(new JLabel("Titre de l'axe :")); final JTextField axisTitleField = new JTextField(); axisTitleField.setText(axis.getLabel()); builder.nextColumn(2); builder.add(axisTitleField, cc.xyw(3, 1, 5)); addListenerOnSuccess(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String text = axisTitleField.getText(); if (text != null && !text.equals("")) axis.setLabel(axisTitleField.getText()); } }); } { builder.nextLine(2); builder.add(new JLabel("Valeur min. :")); builder.nextColumn(2); builder.add(lowField); addListenerOnSuccess(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { Double value = Double.valueOf(lowField.getText()); if (isApply) { axis.setLowerBound(value); } else if (isCancel && oldLowValue != null) axis.setLowerBound(oldLowValue); } catch (NumberFormatException e1) { canClose = false; JOptionPane.showMessageDialog(ValueAxisEditor.this.getParent(), "'" + lowField.getText() + "' n'est pas un nombre", "Erreur", JOptionPane.ERROR_MESSAGE); } } }); builder.nextColumn(2); builder.add(new JLabel("+")); builder.nextColumn(2); builder.add(minModifier); } { builder.nextLine(2); builder.add(new JLabel("Valeur max. :")); builder.nextColumn(2); builder.add(maxField); addListenerOnSuccess(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { Double value = Double.valueOf(maxField.getText()); if (isApply) { axis.setUpperBound(value); } else if (isCancel && oldHighValue != null) axis.setUpperBound(oldHighValue); } catch (NumberFormatException e1) { canClose = false; JOptionPane.showMessageDialog(ValueAxisEditor.this.getParent(), "'" + maxField.getText() + "' n'est pas un nombre", "Erreur", JOptionPane.ERROR_MESSAGE); } } }); builder.nextColumn(2); builder.add(new JLabel("+")); builder.nextColumn(2); builder.add(maxModifier); } { builder.nextLine(2); builder.add(new JLabel("<HTML><strong>Sries associes l'axe</strong></HTML>"), cc.xyw(1, 7, 3)); String linkedSeries = "<html><ul>"; for (Series series : Series.getInstances()) { if (series.getAxis().equals(axis)) linkedSeries += "<li>" + series.toString(true) + "</li>"; } linkedSeries += "</ul></html>"; builder.add(new JLabel(linkedSeries), cc.xyw(1, 8, 3)); } JPanel buttonPanel = new JPanel(); ButtonBarBuilder buttonBuilder = new ButtonBarBuilder(buttonPanel); buttonBuilder.addGlue(); { buttonBuilder.addButton(new AbstractAction() { { putValue(NAME, I18nSupport.translate("cancel")); } @Override public void actionPerformed(ActionEvent e) { isCancel = true; isApply = false; canClose = true; validateForm(); } }); } { buttonBuilder.addButton(new AbstractAction() { { putValue(NAME, I18nSupport.translate("apply")); } @Override public void actionPerformed(ActionEvent e) { isCancel = false; isApply = true; canClose = false; validateForm(); } }); } { buttonBuilder.addButton(new AbstractAction() { { putValue(NAME, I18nSupport.translate("ok")); } @Override public void actionPerformed(ActionEvent e) { isCancel = false; isApply = true; canClose = true; validateForm(); } }); } buttonBuilder.build(); buttonPanel.setVisible(true); builder.add(buttonBuilder.getPanel(), cc.xyw(1, 10, 10)); { translateSlider.setToolTipText("Translation des axes"); translateSlider.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { int maxValue = -translateSlider.getValue(); maxModifier.setText(String.valueOf(maxValue)); int lowValue = -translateSlider.getValue(); minModifier.setText(String.valueOf(lowValue)); } }); builder.add(translateSlider, cc.xywh(9, 1, 1, 8)); } { homotSlider.setToolTipText("Homothtie sur les axes"); homotSlider.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { int maxValue = -homotSlider.getValue(); maxModifier.setText(String.valueOf(maxValue)); int lowValue = homotSlider.getValue(); minModifier.setText(String.valueOf(lowValue)); } }); builder.add(homotSlider, cc.xywh(10, 1, 1, 8)); } builder.build(); getPanel().setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); addListenerOnSuccess(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (canClose) setVisible(false); } }); }
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) {/* w w w . ja v a 2s. c om*/ 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.workspace.cases.conversations.MessageDraftAttachmentsView.java
License:Apache License
public MessageDraftAttachmentsView(@Service ApplicationContext context, @Uses AttachmentsModel model) { this.model = model; am = context.getActionMap(this); setLayout(new BorderLayout()); FormLayout formLayout = new FormLayout("pref,4dlu,pref:grow", "40dlu"); PanelBuilder builder = new PanelBuilder(formLayout); StreamflowButton addButton = new StreamflowButton(am.get("add")); builder.add(addButton);/* w w w . j a v a 2 s . c om*/ builder.nextColumn(2); attachmentsPanel = new JPanel(new WrapLayout(FlowLayout.LEFT)); JScrollPane scroll = new JScrollPane(); scroll.setBorder(BorderFactory.createEmptyBorder()); scroll.setViewportView(attachmentsPanel); builder.add(scroll); add(builder.getPanel(), BorderLayout.CENTER); new RefreshWhenShowing(this, this); }
From source file:se.streamsource.streamflow.client.ui.workspace.cases.conversations.MessageDraftView.java
License:Apache License
public MessageDraftView(@Service final ApplicationContext context, @Structure Module module, @Uses MessageDraftModel model) { this.model = model; setActionMap(context.getActionMap(this)); setLayout(new BorderLayout()); setPreferredSize(new Dimension(100, 250)); // NEWMESSAGE JScrollPane messageScroll = new JScrollPane(); newMessage = new JTextPane(); newMessage.setContentType("text/plain"); newMessage.setEditable(true);/*from ww w. j a v a2 s.c o m*/ messageScroll.getViewport().add(newMessage); valueBinder = module.objectBuilderFactory().newObject(ValueBinder.class); valueBinder.bind("string", newMessage); FormLayout formLayout = new FormLayout("fill:pref:grow, 4dlu, min", "pref"); PanelBuilder panelBuilder = new PanelBuilder(formLayout); attachmentsView = module.objectBuilderFactory().newObjectBuilder(MessageDraftAttachmentsView.class) .use(model.newMessageDraftAttachmentsModel()).newInstance(); panelBuilder.add(attachmentsView); panelBuilder.nextColumn(2); JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); // fetch the send action as proxy action from a parent container javax.swing.Action createMessageAction = context.getActionMap().get("createMessage"); StreamflowButton createMessage = new StreamflowButton(createMessageAction); createMessage.registerKeyboardAction(createMessageAction, (KeyStroke) createMessageAction.getValue(javax.swing.Action.ACCELERATOR_KEY), JComponent.WHEN_IN_FOCUSED_WINDOW); javax.swing.Action cancelAction = context.getActionMap().get("cancelNewMessage"); StreamflowButton cancel = new StreamflowButton(cancelAction); buttonPanel.add(createMessage); buttonPanel.add(cancel); panelBuilder.add(buttonPanel); add(messageScroll, BorderLayout.CENTER); add(panelBuilder.getPanel(), BorderLayout.SOUTH); new ActionBinder(getActionMap()).bind("changeMessage", newMessage); new RefreshWhenShowing(this, this); }