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

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

Introduction

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

Prototype

public CellConstraints xywh(int col, int row, int colSpan, int rowSpan) 

Source Link

Document

Sets the column, row, width, and height; uses default alignments.

Examples:

 cc.xywh(1, 3, 2, 1); cc.xywh(1, 3, 7, 3); 

Usage

From source file:jgnash.ui.register.AbstractTransactionEntryPanel.java

License:Open Source License

private void layoutMainPanel() {

    init();/*w  w w  .j a v  a2  s  .c om*/

    FormLayout layout = new FormLayout("d, 4dlu, d:g, 8dlu, d, 4dlu, 45dlu", "f:d, $nlgap, f:d, $nlgap, f:d");
    layout.setRowGroups(new int[][] { { 1, 3, 5 } });
    CellConstraints cc = new CellConstraints();

    setLayout(layout);
    setBorder(Borders.DIALOG_BORDER);

    add("Label.Account", cc.xy(1, 1));
    add(accountPanel, cc.xy(3, 1));
    add("Label.Amount", cc.xy(5, 1));
    add(amountField, cc.xy(7, 1));

    add("Label.Memo", cc.xy(1, 3));
    add(memoField, cc.xywh(3, 3, 5, 1));

    add(createBottomPanel(), cc.xywh(1, 5, 7, 1));

    clearForm();
}

From source file:jgnash.ui.register.AdjustmentPanel.java

License:Open Source License

private void layoutMainPanel() {
    FormLayout layout = new FormLayout("right:d, $lcgap, 50dlu:g, 8dlu, right:d, $lcgap, max(48dlu;min)",
            "f:d, $nlgap, f:d, $nlgap, f:d, $nlgap, f:d");

    layout.setRowGroups(new int[][] { { 1, 3, 5, 7 } });
    CellConstraints cc = new CellConstraints();

    setLayout(layout);//from  ww  w .j a va  2 s. com
    setBorder(Borders.DIALOG_BORDER);

    add("Label.Payee", cc.xy(1, 1));
    add(payeeField, cc.xy(3, 1));
    add("Label.Number", cc.xy(5, 1));
    add(numberField, cc.xy(7, 1));

    add("Label.Memo", cc.xy(1, 3));
    add(memoField, cc.xy(3, 3));
    add("Label.Date", cc.xy(5, 3));
    add(datePanel, cc.xy(7, 3));

    add(reconciledButton, cc.xywh(1, 5, 3, 1));
    add("Label.Amount", cc.xy(5, 5));
    add(ValidationFactory.wrap(amountField), cc.xy(7, 5));

    add(ButtonBarFactory.buildHelpBar(convertButton, enterButton, cancelButton), cc.xywh(1, 7, 7, 1));
}

From source file:jrico.jstickynotes.gui.FontChooser.java

License:Open Source License

private void initComponents() {
    ResourceBundle bundle = ResourceBundle.getBundle("jrico.jstickynotes.resource.jstickynotes");
    dialogPane = new JPanel();
    contentPanel = new JPanel();
    fontLabel = new JLabel();
    styleLabel = new JLabel();
    sizeLabel = new JLabel();
    fontTextField = new JTextField();
    styleTextField = new JTextField();
    sizeTextField = new JTextField();
    fontScroll = new JScrollPane();
    fontList = new JList();
    styleScroll = new JScrollPane();
    styleList = new JList();
    sizeScroll = new JScrollPane();
    sizeList = new JList();
    colorLabel = new JLabel();
    fontColorLabel = new JLabel();
    fontPreviewLabel = new JLabel();
    buttonBar = new JPanel();
    buttonsSeparator = new JSeparator();
    okButton = new JButton();
    cancelButton = new JButton();
    CellConstraints cc = new CellConstraints();

    setModal(true);// ww w . j a va 2s. co  m
    setTitle(bundle.getString("FontChooser.this.title"));
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    dialogPane.setBorder(Borders.DIALOG_BORDER);
    dialogPane.setLayout(new BorderLayout());

    contentPanel.setLayout(new FormLayout("default, $lcgap, default:grow, 2*($rgap, default:grow(0.5))",
            "2*(default, $lgap), fill:default:grow, $lgap, fill:default, $ugap, fill:default"));

    fontLabel.setText(bundle.getString("FontChooser.fontLabel.text"));
    contentPanel.add(fontLabel, cc.xywh(1, 1, 3, 1));

    styleLabel.setText(bundle.getString("FontChooser.styleLabel.text"));
    contentPanel.add(styleLabel, cc.xy(5, 1));

    sizeLabel.setText(bundle.getString("FontChooser.sizeLabel.text"));
    contentPanel.add(sizeLabel, cc.xy(7, 1));

    fontTextField.setEditable(false);
    contentPanel.add(fontTextField, cc.xywh(1, 3, 3, 1));

    styleTextField.setEditable(false);
    contentPanel.add(styleTextField, cc.xy(5, 3));

    sizeTextField.setEditable(false);
    contentPanel.add(sizeTextField, cc.xy(7, 3));

    fontList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            fontValueChanged(e);
        }
    });
    fontScroll.setViewportView(fontList);
    contentPanel.add(fontScroll, cc.xywh(1, 5, 3, 1));

    styleList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            fontValueChanged(e);
        }
    });
    styleScroll.setViewportView(styleList);
    contentPanel.add(styleScroll, cc.xy(5, 5));

    sizeList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            fontValueChanged(e);
        }
    });
    sizeScroll.setViewportView(sizeList);
    contentPanel.add(sizeScroll, cc.xy(7, 5));

    colorLabel.setText(bundle.getString("FontChooser.colorLabel.text"));
    contentPanel.add(colorLabel, cc.xy(1, 7));

    fontColorLabel.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            fontColorLabelMouseClicked(e);
        }
    });
    contentPanel.add(fontColorLabel, cc.xy(3, 7));

    fontPreviewLabel.setText(bundle.getString("FontChooser.fontPreviewLabel.text"));
    fontPreviewLabel.setHorizontalAlignment(SwingConstants.CENTER);
    contentPanel.add(fontPreviewLabel, cc.xywh(1, 9, 7, 1));
    dialogPane.add(contentPanel, BorderLayout.CENTER);

    buttonBar.setBorder(null);
    buttonBar.setLayout(new FormLayout("$glue, $button, $rgap, $button", "$ugap, default, $ugap, pref"));
    buttonBar.add(buttonsSeparator, cc.xywh(1, 2, 4, 1));

    okButton.setText(bundle.getString("FontChooser.okButton.text"));
    okButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            okButtonActionPerformed(e);
        }
    });
    buttonBar.add(okButton, cc.xy(2, 4));

    cancelButton.setText(bundle.getString("FontChooser.cancelButton.text"));
    cancelButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            cancelButtonActionPerformed(e);
        }
    });
    buttonBar.add(cancelButton, cc.xy(4, 4));
    dialogPane.add(buttonBar, BorderLayout.SOUTH);
    contentPane.add(dialogPane, BorderLayout.CENTER);
    pack();
    setLocationRelativeTo(getOwner());
    Widgets.installEscAction(dialogPane, cancelButton, "doClick");
    fontColorLabel.setOpaque(true);
}

From source file:jrico.jstickynotes.gui.PreferencesDialog.java

License:Open Source License

private void initComponents() {
    ResourceBundle bundle = ResourceBundle.getBundle("jrico.jstickynotes.resource.jstickynotes");
    dialogPane = new JPanel();
    buttonBar = new JPanel();
    buttonsSeparator = new JSeparator();
    okButton = new JButton();
    cancelButton = new JButton();
    preferencesTabbedPane = new JTabbedPane();
    generalScroll = new JScrollPane();
    generalPanel = new JPanel();
    generalDescriptionLabel = new JLabel();
    colorButton = new JButton();
    colorLabel = new JLabel();
    fontButton = new JButton();
    fontLabel = new JLabel();
    CellConstraints cc = new CellConstraints();

    setModal(true);/*from w  w  w  . j a va 2  s  .  c o  m*/
    setTitle(bundle.getString("PreferencesDialog.this.title"));
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    dialogPane.setBorder(Borders.DIALOG_BORDER);
    dialogPane.setLayout(new BorderLayout());

    buttonBar.setBorder(null);
    buttonBar.setLayout(new FormLayout("$glue, $button, $rgap, $button", "$ugap, default, $ugap, pref"));
    buttonBar.add(buttonsSeparator, cc.xywh(1, 2, 4, 1));

    okButton.setText(bundle.getString("PreferencesDialog.okButton.text"));
    okButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            okButtonActionPerformed(e);
        }
    });
    buttonBar.add(okButton, cc.xy(2, 4));

    cancelButton.setText(bundle.getString("PreferencesDialog.cancelButton.text"));
    cancelButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            cancelButtonActionPerformed(e);
        }
    });
    buttonBar.add(cancelButton, cc.xy(4, 4));
    dialogPane.add(buttonBar, BorderLayout.SOUTH);

    generalPanel.setBorder(Borders.TABBED_DIALOG_BORDER);
    generalPanel.setLayout(new FormLayout("2*($button, $lcgap), default:grow",
            "default, $ugap, fill:default, $lgap, fill:default"));

    generalDescriptionLabel.setText(bundle.getString("PreferencesDialog.generalDescriptionLabel.text"));
    generalPanel.add(generalDescriptionLabel, cc.xywh(1, 1, 5, 1));

    colorButton.setText(bundle.getString("PreferencesDialog.colorButton.text"));
    colorButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            colorButtonActionPerformed(e);
        }
    });
    generalPanel.add(colorButton, cc.xy(1, 3));
    generalPanel.add(colorLabel, cc.xy(3, 3));

    fontButton.setText(bundle.getString("PreferencesDialog.fontButton.text"));
    fontButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            fontButtonActionPerformed(e);
        }
    });
    generalPanel.add(fontButton, cc.xy(1, 5));

    fontLabel.setText(bundle.getString("PreferencesDialog.fontLabel.text"));
    generalPanel.add(fontLabel, cc.xywh(3, 5, 3, 1));
    generalScroll.setViewportView(generalPanel);
    preferencesTabbedPane.addTab(bundle.getString("PreferencesDialog.generalPanel.tab.title"), generalScroll);

    dialogPane.add(preferencesTabbedPane, BorderLayout.CENTER);
    contentPane.add(dialogPane, BorderLayout.CENTER);

    emailPanel = new JPanel();
    preferencesTabbedPane.addTab(bundle.getString("PreferencesDialog.emailPanel.tab.title"), null, emailPanel,
            null);
    emailPanel.setBorder(Borders.TABBED_DIALOG_BORDER);
    emailPanel.setLayout(new FormLayout(
            new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    ColumnSpec.decode("default:grow"), FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC, },
            new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.UNRELATED_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.RELATED_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, }));

    emailDescriptionLabel = new JLabel(bundle.getString("PreferencesDialog.emailDescriptionLabel.text")); //$NON-NLS-1$
    emailPanel.add(emailDescriptionLabel, "1, 1, 5, 1");

    emailEnabledCheckbox = new JCheckBox(bundle.getString("PreferencesDialog.emailEnabledCheckbox.text")); //$NON-NLS-1$
    emailEnabledCheckbox.addChangeListener(this);
    emailPanel.add(emailEnabledCheckbox, "1, 3, 5, 1");

    hostLabel = new JLabel(bundle.getString("PreferencesDialog.hostLabel.text")); //$NON-NLS-1$
    hostLabel.setEnabled(false);
    emailPanel.add(hostLabel, "1, 5, right, default");

    hostText = new JTextField();
    hostText.setEnabled(false);
    emailPanel.add(hostText, "3, 5, 3, 1, fill, default");
    hostText.setColumns(10);

    usernameLabel = new JLabel(bundle.getString("PreferencesDialog.usernameLabel.text")); //$NON-NLS-1$
    usernameLabel.setEnabled(false);
    emailPanel.add(usernameLabel, "1, 7, right, default");

    usernameText = new JTextField();
    usernameText.setEnabled(false);
    emailPanel.add(usernameText, "3, 7, 3, 1, fill, default");
    usernameText.setColumns(10);

    passwordLabel = new JLabel(bundle.getString("PreferencesDialog.passwordLabel.text")); //$NON-NLS-1$
    passwordLabel.setEnabled(false);
    emailPanel.add(passwordLabel, "1, 9, right, default");

    passwordText = new JPasswordField();
    passwordText.setEnabled(false);
    emailPanel.add(passwordText, "3, 9, fill, default");
    passwordText.setColumns(10);
    echoChar = passwordText.getEchoChar();

    showPasswordCheckbox = new JCheckBox(bundle.getString("PreferencesDialog.showPasswordCheckbox.text")); //$NON-NLS-1$
    showPasswordCheckbox.addChangeListener(this);
    showPasswordCheckbox.setEnabled(false);
    emailPanel.add(showPasswordCheckbox, "5, 9");

    passwordStoredCheckbox = new JCheckBox(bundle.getString("PreferencesDialog.passwordStoredCheckbox.text")); //$NON-NLS-1$
    passwordStoredCheckbox.setEnabled(false);
    emailPanel.add(passwordStoredCheckbox, "1, 11, 5, 1");

    autoLoginCheckbox = new JCheckBox(bundle.getString("PreferencesDialog.autoLoginCheckbox.text")); //$NON-NLS-1$
    autoLoginCheckbox.setEnabled(false);
    emailPanel.add(autoLoginCheckbox, "1, 13, 3, 1");

    colorLabel.setOpaque(true);
    colorLabel.setBackground(preferences.getDefaultNoteColor());
    fontLabel.setFont(preferences.getDefaultFont());
    fontLabel.setForeground(preferences.getDefaultFontColor());
    hostText.setText(preferences.getHost());
    usernameText.setText(preferences.getUsername());
    emailEnabledCheckbox.setSelected(preferences.isEmailEnabled());
    passwordStoredCheckbox.setSelected(preferences.isPasswordStored());
    autoLoginCheckbox.setSelected(preferences.isAutoLogin());

    if (preferences.isPasswordStored()) {
        passwordText.setText(preferences.getPassword());
    }

    pack();
    setLocationRelativeTo(null);
    Widgets.installEscAction(dialogPane, cancelButton, "doClick");
}

From source file:loci.ome.notes.editor.TemplateEditor.java

License:Open Source License

public TemplateEditor() {
    super("OME Notes Template Editor");

    pictureHandler = new PictureTransferHandler();
    icons = new Hashtable[0];
    fields = new Hashtable[0];

    // set up the menu bar

    JMenuBar menubar = new JMenuBar();

    JMenu file = new JMenu("File");

    JMenuItem newFile = new JMenuItem("New...");
    newFile.setActionCommand("new");
    newFile.addActionListener(this);
    file.add(newFile);/* w ww.jav  a2s .co  m*/

    JMenuItem openFile = new JMenuItem("Open");
    openFile.setActionCommand("open");
    openFile.addActionListener(this);
    file.add(openFile);

    JMenuItem saveFile = new JMenuItem("Save");
    saveFile.setActionCommand("save");
    saveFile.addActionListener(this);
    file.add(saveFile);

    JMenuItem quit = new JMenuItem("Quit");
    quit.setActionCommand("quit");
    quit.addActionListener(this);
    file.add(quit);

    menubar.add(file);

    setJMenuBar(menubar);

    // set up the toolbar

    JToolBar toolbar = new JToolBar();
    toolbar.setFloatable(false);

    JButton tab = new JButton("New Tab");
    tab.addActionListener(this);
    tab.setActionCommand("prompt tab");

    JButton row = new JButton("Add Row");
    row.addActionListener(this);
    row.setActionCommand("add row");

    JButton col = new JButton("Add Column");
    col.addActionListener(this);
    col.setActionCommand("add col");

    JButton remove = new JButton("Remove this tab");
    remove.addActionListener(this);
    remove.setActionCommand("removeTab");

    toolbar.add(tab);
    toolbar.add(row);
    toolbar.add(col);
    toolbar.add(remove);

    // set up the rest of the window

    CellConstraints cc = new CellConstraints();

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

    JPanel contentPane = new JPanel(layout);

    contentPane.add(toolbar, cc.xywh(1, 1, 5, 1));

    tabPane = new JTabbedPane();
    contentPane.add(tabPane, cc.xywh(3, 2, 3, 4));

    FormLayout componentLayout = new FormLayout("pref:grow,pref:grow",
            "pref:grow,pref:grow,pref:grow,pref:grow,pref:grow,pref:grow");
    componentPane = new JPanel(componentLayout);

    componentPane.add(new JLabel("Field Choices"), cc.xywh(1, 1, 2, 1));

    try {
        for (int i = 0; i < COMPONENTS.length; i++) {
            JLabel label = new JLabel(COMPONENT_NAMES[i]);
            componentPane.add(label, cc.xy(1, i + 2));

            JPanel panel = new JPanel();
            JComponent component = (JComponent) COMPONENTS[i].newInstance();
            component.setPreferredSize(new Dimension(64, 25));
            component.setEnabled(false);
            panel.add(component);

            DraggableIcon img = new DraggableIcon(panel, -1, -1);
            img.setTransferHandler(pictureHandler);
            img.setEditable(false);

            componentPane.add(img, cc.xy(2, i + 2));
        }
    } catch (Exception e) {
        error("Failed to create field list", e);
    }

    contentPane.add(componentPane, cc.xywh(1, 2, 1, 4));

    setContentPane(contentPane);
    setSize(new Dimension(768, 768));
    setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    setVisible(true);
}

From source file:loci.plugins.in.MainDialog.java

License:Open Source License

/** Fancies up the importer dialog to look much nicer. */
private void rebuildDialog(GenericDialog gd) {
    // extract GUI components from dialog and add listeners
    List<Checkbox> boxes = null;
    List<Choice> choices = null;
    List<Label> labels = null;
    Label colorModeLabel = null;//from w  w  w.  jav  a  2  s.  co  m
    Label stackFormatLabel = null;
    Label stackOrderLabel = null;
    Component[] c = gd.getComponents();
    if (c != null) {
        boxes = new ArrayList<Checkbox>();
        choices = new ArrayList<Choice>();
        labels = new ArrayList<Label>();
        for (int i = 0; i < c.length; i++) {
            if (c[i] instanceof Checkbox) {
                Checkbox item = (Checkbox) c[i];
                item.addFocusListener(this);
                item.addItemListener(this);
                item.addMouseListener(this);
                boxes.add(item);
            } else if (c[i] instanceof Choice) {
                Choice item = (Choice) c[i];
                item.addFocusListener(this);
                item.addItemListener(this);
                item.addMouseListener(this);
                choices.add(item);
            } else if (c[i] instanceof Label)
                labels.add((Label) c[i]);
        }
        int boxIndex = 0, choiceIndex = 0, labelIndex = 0;
        autoscaleBox = boxes.get(boxIndex++);
        colorModeChoice = choices.get(choiceIndex++);
        colorModeLabel = labels.get(labelIndex++);
        concatenateBox = boxes.get(boxIndex++);
        cropBox = boxes.get(boxIndex++);
        groupFilesBox = boxes.get(boxIndex++);
        ungroupFilesBox = boxes.get(boxIndex++);
        openAllSeriesBox = boxes.get(boxIndex++);
        boxIndex++; // quiet
        //recordBox         = boxes.get(boxIndex++);
        showMetadataBox = boxes.get(boxIndex++);
        showOMEXMLBox = boxes.get(boxIndex++);
        showROIsBox = boxes.get(boxIndex++);
        specifyRangesBox = boxes.get(boxIndex++);
        splitZBox = boxes.get(boxIndex++);
        splitTBox = boxes.get(boxIndex++);
        splitCBox = boxes.get(boxIndex++);
        stackFormatChoice = choices.get(choiceIndex++);
        stackFormatLabel = labels.get(labelIndex++);
        stackOrderChoice = choices.get(choiceIndex++);
        stackOrderLabel = labels.get(labelIndex++);
        swapDimsBox = boxes.get(boxIndex++);
        virtualBox = boxes.get(boxIndex++);
        stitchTilesBox = boxes.get(boxIndex++);
    }
    verifyOptions(null);

    // TODO: The info table and focus logic could be split into
    // its own class, rather than being specific to this dialog.

    // associate information for each option
    infoTable = new HashMap<Component, String>();
    infoTable.put(autoscaleBox, options.getAutoscaleInfo());
    infoTable.put(colorModeChoice, options.getColorModeInfo());
    infoTable.put(colorModeLabel, options.getColorModeInfo());
    infoTable.put(concatenateBox, options.getConcatenateInfo());
    infoTable.put(cropBox, options.getCropInfo());
    infoTable.put(groupFilesBox, options.getGroupFilesInfo());
    infoTable.put(ungroupFilesBox, options.getUngroupFilesInfo());
    infoTable.put(openAllSeriesBox, options.getOpenAllSeriesInfo());
    //infoTable.put(recordBox, options.getRecordInfo());
    infoTable.put(showMetadataBox, options.getShowMetadataInfo());
    infoTable.put(showOMEXMLBox, options.getShowOMEXMLInfo());
    infoTable.put(showROIsBox, options.getShowROIsInfo());
    infoTable.put(specifyRangesBox, options.getSpecifyRangesInfo());
    infoTable.put(splitZBox, options.getSplitFocalPlanesInfo());
    infoTable.put(splitTBox, options.getSplitTimepointsInfo());
    infoTable.put(splitCBox, options.getSplitChannelsInfo());
    infoTable.put(stackFormatChoice, options.getStackFormatInfo());
    infoTable.put(stackFormatLabel, options.getStackFormatInfo());
    infoTable.put(stackOrderChoice, options.getStackOrderInfo());
    infoTable.put(stackOrderLabel, options.getStackOrderInfo());
    infoTable.put(swapDimsBox, options.getSwapDimensionsInfo());
    infoTable.put(virtualBox, options.getVirtualInfo());
    infoTable.put(stitchTilesBox, options.getStitchTilesInfo());

    // rebuild dialog using FormLayout to organize things more nicely

    String cols =
            // first column
            "pref, 3dlu, pref:grow, " +
            // second column
                    "10dlu, pref, " +
                    // third column
                    "10dlu, fill:150dlu";

    String rows =
            // Stack viewing        | Metadata viewing
            "pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, " +
            // Dataset organization | Memory management
                    "9dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, " + "3dlu, pref, " +
                    // Color options        | Split into separate windows
                    "9dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref";

    // TODO: Change "Use virtual stack" and "Record modifications to virtual
    // stack" checkboxes to "Stack type" choice with options:
    //   "Normal", "Virtual" or "Smart virtual"

    PanelBuilder builder = new PanelBuilder(new FormLayout(cols, rows));
    CellConstraints cc = new CellConstraints();

    // populate 1st column
    int row = 1;
    builder.addSeparator("Stack viewing", cc.xyw(1, row, 3));
    row += 2;
    builder.add(stackFormatLabel, cc.xy(1, row));
    builder.add(stackFormatChoice, cc.xy(3, row));
    row += 2;
    builder.add(stackOrderLabel, cc.xy(1, row));
    builder.add(stackOrderChoice, cc.xy(3, row));
    row += 4;
    builder.addSeparator("Dataset organization", cc.xyw(1, row, 3));
    row += 2;
    builder.add(groupFilesBox, xyw(cc, 1, row, 3));
    row += 2;
    builder.add(ungroupFilesBox, xyw(cc, 1, row, 3));
    row += 2;
    builder.add(swapDimsBox, xyw(cc, 1, row, 3));
    row += 2;
    builder.add(openAllSeriesBox, xyw(cc, 1, row, 3));
    row += 2;
    builder.add(concatenateBox, xyw(cc, 1, row, 3));
    row += 2;
    builder.add(stitchTilesBox, xyw(cc, 1, row, 3));
    row += 2;
    builder.addSeparator("Color options", cc.xyw(1, row, 3));
    row += 2;
    builder.add(colorModeLabel, cc.xy(1, row));
    builder.add(colorModeChoice, cc.xy(3, row));
    row += 2;
    builder.add(autoscaleBox, xyw(cc, 1, row, 3));
    row += 2;

    // populate 2nd column
    row = 1;
    builder.addSeparator("Metadata viewing", cc.xy(5, row));
    row += 2;
    builder.add(showMetadataBox, xyw(cc, 5, row, 1));
    row += 2;
    builder.add(showOMEXMLBox, xyw(cc, 5, row, 1));
    row += 2;
    builder.add(showROIsBox, xyw(cc, 5, row, 1));
    row += 2;
    builder.addSeparator("Memory management", cc.xy(5, row));
    row += 2;
    builder.add(virtualBox, xyw(cc, 5, row, 1));
    row += 2;
    //builder.add(recordBox, xyw(cc, 5, row, 1));
    //row += 2;
    builder.add(specifyRangesBox, xyw(cc, 5, row, 1));
    row += 2;
    builder.add(cropBox, xyw(cc, 5, row, 1));
    row += 4;
    builder.addSeparator("Split into separate windows", cc.xy(5, row));
    row += 2;
    builder.add(splitCBox, xyw(cc, 5, row, 1));
    row += 2;
    builder.add(splitZBox, xyw(cc, 5, row, 1));
    row += 2;
    builder.add(splitTBox, xyw(cc, 5, row, 1));
    //row += 4;

    // information section
    builder.addSeparator("Information", cc.xy(7, 1));
    //row += 2;
    infoPane = new JEditorPane();
    infoPane.setContentType("text/html");
    infoPane.setEditable(false);
    infoPane.setText("<html>" + INFO_DEFAULT);
    builder.add(new JScrollPane(infoPane), cc.xywh(7, 3, 1, row));
    //row += 2;

    gd.removeAll();
    gd.add(builder.getPanel());

    WindowTools.addScrollBars(gd);
    gd.setBackground(Color.white); // HACK: workaround for JPanel in a Dialog
}

From source file:loci.visbio.overlays.OverlayWidget.java

License:Open Source License

/** Creates overlay GUI controls. */
public OverlayWidget(final OverlayTransform overlay) {
    super();//from   ww w .  j  av a2s.  com
    this.overlay = overlay;
    buttonGroup = new ButtonGroup();

    // list of tools
    final OverlayTool[] toolList = { new PointerTool(overlay), new LineTool(overlay), new FreeformTool(overlay),
            new MarkerTool(overlay), new TextTool(overlay), new OvalTool(overlay), new BoxTool(overlay),
            new ArrowTool(overlay), new PolylineTool(overlay), };
    tools = new Vector(toolList.length);

    // tool buttons
    buttons = new Vector(toolList.length);
    for (int i = 0; i < toolList.length; i++)
        addTool(toolList[i]);
    final Object[] buttonList = new Object[buttons.size()];
    buttons.copyInto(buttonList);
    final JPanel toolsRow = FormsUtil.makeRow(buttonList);

    // file chooser for loading overlays
    overlayLoadBox = new JFileChooser();
    overlayLoadBox
            .addChoosableFileFilter(new ExtensionFileFilter(new String[] { "txt" }, "Overlay text files"));

    // file chooser for saving overlays
    overlaySaveBox = new JFileChooser();
    overlaySaveBox
            .addChoosableFileFilter(new ExtensionFileFilter(new String[] { "txt" }, "Overlay text files"));
    overlaySaveBox.setAccessory(new StatsOptionsPane());

    overlayXLSBox = new JFileChooser();
    overlayXLSBox.addChoosableFileFilter(
            new ExtensionFileFilter(new String[] { "xls" }, "Overlay spreadsheet files"));
    overlayXLSBox.setAccessory(new StatsOptionsPane());

    // current font text field
    currentFont = new JTextField();
    currentFont.setEditable(false);
    currentFont.setToolTipText("Font used for text overlays");
    refreshCurrentFont();

    // font chooser button
    chooseFont = new JButton("Change...");
    chooseFont.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        chooseFont.setMnemonic('h');
    chooseFont.setToolTipText("Configures font used for text overlays");
    final JPanel fontRow = FormsUtil.makeRow(new Object[] { "Font", currentFont, chooseFont },
            new boolean[] { false, true, false });

    // overlay list
    overlayListModel = new DefaultListModel();
    overlayList = new JList(overlayListModel);
    overlayList.addListSelectionListener(this);
    overlayList.setToolTipText("Overlays at the current dimensional position");
    final JScrollPane overlayScroll = new JScrollPane(overlayList);
    SwingUtil.configureScrollPane(overlayScroll);
    overlayScroll.setPreferredSize(new Dimension(120, 0));

    // text fields for (X, Y) coordinate pairs
    final int textWidth = 12;
    x1 = new JTextField(textWidth);
    y1 = new JTextField(textWidth);
    x2 = new JTextField(textWidth);
    y2 = new JTextField(textWidth);
    x1.setEnabled(false);
    y1.setEnabled(false);
    x2.setEnabled(false);
    y2.setEnabled(false);
    x1.getDocument().addDocumentListener(this);
    y1.getDocument().addDocumentListener(this);
    x2.getDocument().addDocumentListener(this);
    y2.getDocument().addDocumentListener(this);
    x1.setToolTipText("First X coordinate of selected overlays");
    y1.setToolTipText("First Y coordinate of selected overlays");
    x2.setToolTipText("Second X coordinate of selected overlays");
    y2.setToolTipText("Second Y coordinate of selected overlays");

    // text text field ;-)
    text = new JTextField(2 * textWidth);
    text.getDocument().addDocumentListener(this);
    text.setToolTipText("Text displayed for the selected text overlays");

    // color chooser
    color = new JButton();
    color.addActionListener(this);
    color.setBackground(Color.white);
    color.setToolTipText("The color of the selected overlays");

    // filled checkbox
    filled = new JCheckBox("Filled");
    filled.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        filled.setMnemonic('f');
    filled.setToolTipText("Whether the selected overlays are filled in or outlined");

    // group selector
    groupList = new BioComboBox();
    groupList.addItem("None");
    groupList.addActionListener(this);
    groupList.setToolTipText("The overlay group to which the selected overlays belong");

    // new group button
    newGroup = new JButton("New...");
    newGroup.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        newGroup.setMnemonic('n');
    newGroup.setToolTipText("Creates a new overlay group");

    // notes text field
    notes = new JTextField(2 * textWidth);
    notes.getDocument().addDocumentListener(this);
    notes.setToolTipText("Miscellaneous notes associated with the selected overlays");

    // stats text area
    stats = new JTextArea(7, 3 * textWidth);
    stats.setEditable(false);
    stats.setBorder(new EtchedBorder());
    stats.setToolTipText("Statistics for the selected overlay");

    // overlay removal button
    remove = new JButton("Remove");
    remove.setEnabled(false);
    remove.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        remove.setMnemonic('r');
    remove.setToolTipText("Deletes the selected overlays");

    // overlay copy button
    copy = new JButton("Copy");
    copy.setEnabled(false);
    copy.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        copy.setMnemonic('c');
    copy.setToolTipText("Copies selected overlays to the clipboard");

    // overlay paste button
    paste = new JButton("Paste");
    paste.setEnabled(false);
    paste.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        paste.setMnemonic('p');
    paste.setToolTipText("Pastes overlays from the clipboard");

    // overlay distribution button
    dist = new JButton("Distribute");
    dist.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        dist.setMnemonic('d');
    dist.setToolTipText("Distributes an overlay evenly between " + "copied location and selected location");

    // overlay loading button
    load = new JButton("Load overlays...");
    load.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        load.setMnemonic('l');
    load.setToolTipText("Loads overlays from a text file on disk");

    // overlay saving button
    save = new JButton("Save overlays...");
    save.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        save.setMnemonic('s');
    save.setToolTipText("Saves overlays to a text file on disk");

    // overlay export button
    export = new JButton("Export overlays...");
    export.addActionListener(this);
    if (!LAFUtil.isMacLookAndFeel())
        export.setMnemonic('e');
    export.setToolTipText("Exports overlays to a .xls file on disk");

    // lay out components
    setLayout(new BorderLayout());
    final FormLayout layout = new FormLayout("pref, 5dlu, pref, 3dlu, pref:grow, 5dlu, pref, 3dlu, pref:grow",
            "pref, 3dlu, pref, 9dlu, pref, 3dlu, pref, 9dlu, pref, 3dlu, pref, "
                    + "3dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, 3dlu, pref, "
                    + "3dlu, pref, 9dlu, pref, 3dlu, fill:pref:grow");
    final PanelBuilder builder = new PanelBuilder(layout);
    final CellConstraints cc = new CellConstraints();

    int row = 1;
    builder.addSeparator("Tools", cc.xyw(1, row, 9));
    row += 2;
    builder.add(toolsRow, cc.xyw(1, row, 9));
    row += 2;
    builder.addSeparator("Overlays", cc.xyw(1, row, 9));
    row += 2;
    builder.add(fontRow, cc.xyw(1, row, 9));
    row += 2;
    builder.add(overlayScroll, cc.xywh(1, row, 1, 11));
    builder.addLabel("X1", cc.xy(3, row));
    builder.add(x1, cc.xy(5, row));
    builder.addLabel("Y1", cc.xy(7, row));
    builder.add(y1, cc.xy(9, row));
    row += 2;
    builder.addLabel("X2", cc.xy(3, row));
    builder.add(x2, cc.xy(5, row));
    builder.addLabel("Y2", cc.xy(7, row));
    builder.add(y2, cc.xy(9, row));
    row += 2;
    builder.addLabel("Text", cc.xy(3, row));
    builder.add(text, cc.xyw(5, row, 5));
    row += 2;
    builder.addLabel("Color", cc.xy(3, row));
    builder.add(color, cc.xy(5, row, "fill, fill"));
    builder.add(filled, cc.xyw(7, row, 3));
    row += 2;
    builder.addLabel("Group", cc.xy(3, row));
    builder.add(groupList, cc.xy(5, row));
    builder.add(newGroup, cc.xyw(7, row, 3, "left, center"));
    row += 2;
    builder.addLabel("Notes", cc.xy(3, row));
    builder.add(notes, cc.xyw(5, row, 5));
    row += 2;
    builder.add(ButtonBarFactory.buildCenteredBar(new JButton[] { remove, copy, paste, dist }),
            cc.xyw(1, row, 9, "center, center"));
    row += 2;
    builder.add(ButtonBarFactory.buildCenteredBar(new JButton[] { load, save, export }),
            cc.xyw(1, row, 9, "center, center"));
    row += 2;
    builder.addSeparator("Statistics", cc.xyw(1, row, 9));
    row += 2;
    builder.add(stats, cc.xyw(1, row, 9));

    layout.setColumnGroups(new int[][] { { 5, 9 } });
    add(builder.getPanel());

    overlay.addTransformListener(this);

    // widget refresh timer
    refreshTimer = new Timer(200, this);
    refreshTimer.start();
}

From source file:lu.tudor.santec.dicom.gui.dicomdir.DICOMDIRSearchPanel.java

License:Open Source License

/**
 * @param inFile the DICOMDIR file/*from  w w w .ja va2 s. c o  m*/
 * @param parent the parent DicomFileDialog
 * @param open show open option
 * @param delete show delete option
 * @param send show send option
 * @param create create DICOMDIR on startup
 */
public DICOMDIRSearchPanel(File inFile, DICOMDIRVIEW parent, boolean open, boolean delete, boolean send,
        boolean create, String[] dicomFields) {
    this.parent = parent;
    this.create = create;
    this.canSend = send;
    this.delete = delete;

    CellConstraints cc = new CellConstraints();
    FormLayout fl = new FormLayout("6dlu, 100dlu:grow, 4dlu, 100dlu:grow, 4dlu, pref, 6dlu",
            "6dlu, pref, 3dlu, fill:80dlu:grow, 4dlu, 80dlu, 4dlu, pref, 6dlu");
    this.setLayout(fl);

    ddr = new DicomDirReader();

    Color bgColor = new JTextField().getBackground();

    filterLabel = new JLabel();
    filterLabel.setOpaque(true);
    this.add(filterLabel, cc.xyw(2, 2, 5));

    patientTableModel = new PatientTableModel();
    this.patientTableSorter = new TableSorter(patientTableModel);
    patientTable = new JTable(patientTableSorter) {
        private static final long serialVersionUID = 1L;

        public void changeSelection(int row, int column, boolean toggle, boolean extend) {
            //            System.out.println(">row " + row  + " toggle " + toggle + " extend " + extend + " selected " + getSelectedRow());
            if (row == -1 || column == -1) {
                return;
            }
            if (getSelectedRow() == row) {
                toggle = true;
            }
            //                 System.out.println("<row " + row  + " toggle " + toggle + " extend " + extend + " selected " + getSelectedRow());
            super.changeSelection(row, column, toggle, extend);
        }
    };
    this.patientTableSorter.setTableHeader(this.patientTable.getTableHeader());
    patientTable.setRowSelectionAllowed(true);
    patientTable.setColumnSelectionAllowed(false);
    patientTable.addMouseListener(this);

    this.setTableFocusKey(patientTable);
    patientTable.getSelectionModel().addListSelectionListener(this);
    JScrollPane jsp0 = new JScrollPane(patientTable);
    jsp0.setFocusCycleRoot(false);
    this.patientTableBorder = new TitledBorder(Translatrix.getTranslationString("dicom.Patients") + ":");
    jsp0.setBorder(this.patientTableBorder);
    jsp0.getViewport().setBackground(bgColor);
    this.add(jsp0, cc.xyw(2, 4, 1));
    patientTable.requestFocus();

    studyTableModel = new StudyTableModel();
    this.studyTableSorter = new TableSorter(studyTableModel);
    studyTable = new JTable(studyTableSorter) {
        private static final long serialVersionUID = 1L;

        public void changeSelection(int row, int column, boolean toggle, boolean extend) {
            //            System.out.println(">row " + row  + " toggle " + toggle + " extend " + extend + " selected " + getSelectedRow());
            if (row == -1 || column == -1) {
                return;
            }
            if (getSelectedRow() == row) {
                toggle = true;
            }
            //                 System.out.println("<row " + row  + " toggle " + toggle + " extend " + extend + " selected " + getSelectedRow());
            super.changeSelection(row, column, toggle, extend);
        }
    };
    this.studyTableSorter.setTableHeader(this.studyTable.getTableHeader());
    studyTable.setRowSelectionAllowed(true);
    studyTable.setColumnSelectionAllowed(false);
    studyTable.addMouseListener(this);
    studyTable.getColumnModel().getColumn(1).setCellRenderer(new DateRenderer());
    studyTable.getColumnModel().getColumn(2).setCellRenderer(new TimeRenderer());
    this.setTableFocusKey(studyTable);
    studyTable.getSelectionModel().addListSelectionListener(this);
    JScrollPane jsp1 = new JScrollPane(studyTable);
    jsp1.setFocusCycleRoot(false);
    this.studyTableBorder = new TitledBorder(Translatrix.getTranslationString("dicom.Studies") + ":");
    jsp1.setBorder(this.studyTableBorder);
    jsp1.getViewport().setBackground(bgColor);
    this.add(jsp1, cc.xyw(4, 4, 1));

    seriesTableModel = new SeriesTableModel();
    this.seriesTableSorter = new TableSorter(seriesTableModel);
    seriesTable = new JTable(seriesTableSorter) {
        private static final long serialVersionUID = 1L;

        public void changeSelection(int row, int column, boolean toggle, boolean extend) {
            //            System.out.println(">row " + row  + " toggle " + toggle + " extend " + extend + " selected " + getSelectedRow());
            if (row == -1 || column == -1) {
                return;
            }
            if (getSelectedRow() == row) {
                toggle = true;
            }
            //                 System.out.println("<row " + row  + " toggle " + toggle + " extend " + extend + " selected " + getSelectedRow());
            super.changeSelection(row, column, toggle, extend);
        }
    };
    this.seriesTableSorter.setTableHeader(this.seriesTable.getTableHeader());
    seriesTable.getColumnModel().getColumn(0).setMaxWidth(60);
    seriesTable.getColumnModel().getColumn(2).setMaxWidth(50);
    seriesTable.setRowSelectionAllowed(true);
    seriesTable.setColumnSelectionAllowed(false);
    seriesTable.addMouseListener(this);
    this.setTableFocusKey(seriesTable);
    seriesTable.getSelectionModel().addListSelectionListener(this);
    JScrollPane jsp2 = new JScrollPane(seriesTable);
    this.seriesTableBorder = new TitledBorder(Translatrix.getTranslationString("dicom.Series") + ":");
    jsp2.setBorder(this.seriesTableBorder);
    jsp2.getViewport().setBackground(bgColor);
    this.add(jsp2, cc.xy(2, 6));

    pictureTableModel = new PictureTableModel();
    this.pictureTableSorter = new TableSorter(pictureTableModel);
    pictureTable = new JTable(pictureTableSorter) {
        private static final long serialVersionUID = 1L;

        public void changeSelection(int row, int column, boolean toggle, boolean extend) {
            //            System.out.println(">row " + row  + " toggle " + toggle + " extend " + extend + " selected " + getSelectedRow());
            if (row == -1 || column == -1) {
                return;
            }
            if (getSelectedRow() == row) {
                toggle = true;
            }
            //                 System.out.println("<row " + row  + " toggle " + toggle + " extend " + extend + " selected " + getSelectedRow());
            super.changeSelection(row, column, toggle, extend);
        }
    };
    this.pictureTableSorter.setTableHeader(this.pictureTable.getTableHeader());
    pictureTable.setRowSelectionAllowed(true);
    pictureTable.setColumnSelectionAllowed(false);
    pictureTable.addMouseListener(this);
    pictureTable.getColumnModel().getColumn(0).setMaxWidth(55);

    this.setTableFocusKey(pictureTable);
    pictureTable.getSelectionModel().addListSelectionListener(this);
    JScrollPane jsp3 = new JScrollPane(pictureTable);
    this.pictureTableBorder = new TitledBorder(Translatrix.getTranslationString("dicom.Pictures") + ":");
    jsp3.setBorder(this.pictureTableBorder);
    jsp3.getViewport().setBackground(bgColor);
    this.add(jsp3, cc.xy(4, 6));

    dicomImagePreview = new ImagePreviewDicom(this.pictureTable, parent.getParentDialog().getCurrentDialog(),
            dicomFields);
    this.add(dicomImagePreview, cc.xywh(6, 4, 1, 3));

    bbuilder = new ButtonBarBuilder();

    //      reindexButton = new JButton("reindex");
    //      reindexButton.addActionListener(this);
    //      bbuilder.addFixed(reindexButton);

    if (this.delete) {
        deleteButton = new JButton(Translatrix.getTranslationString("dicom.Delete"));
        deleteButton.setEnabled(false);
        deleteButton.addActionListener(this);
        bbuilder.addFixed(deleteButton);
        bbuilder.addRelatedGap();
    }
    if (send) {
        sendButton = new JButton(Translatrix.getTranslationString("dicom.Send"));
        sendButton.setEnabled(false);
        sendButton.addActionListener(this);
        bbuilder.addFixed(sendButton);
    }

    bbuilder.addGlue();

    // add Buttons
    if (open) {
        bbuilder.addRelatedGap();
        openImageButton = new JButton(Translatrix.getTranslationString("dicom.OpenImage"));
        openImageButton.setEnabled(false);
        openImageButton.addActionListener(this);
        bbuilder.addGridded(openImageButton);
    }

    if (open) {
        bbuilder.addRelatedGap();
        openSeriesButton = new JButton(Translatrix.getTranslationString("dicom.OpenSeries"));
        openSeriesButton.setEnabled(false);
        openSeriesButton.addActionListener(this);
        bbuilder.addGridded(openSeriesButton);
    }

    if (open && !create) {
        bbuilder.addRelatedGap();
        openAllButton = new JButton(Translatrix.getTranslationString("dicom.OpenAll"));
        //         openAllButton.setEnabled(false);
        openAllButton.addActionListener(this);
        bbuilder.addGridded(openAllButton);
    }

    bbuilder.addRelatedGap();
    cancelButton = new JButton(Translatrix.getTranslationString("dicom.Cancel"));
    cancelButton.addActionListener(this);
    bbuilder.addFixed(cancelButton);
    this.add(bbuilder.getPanel(), cc.xyw(2, 8, 5));

    this.setPath(inFile);

}

From source file:lu.tudor.santec.dicom.gui.DICOMSettingsPlugin.java

License:Open Source License

/**
 * adds the components to the panel//from   w w w  . j  a  v  a  2  s. c  o  m
 */
private void buildPanel() {
    initComponents();
    CellConstraints cc = new CellConstraints();

    // build the Layout for fileinput
    filePanel = createSubPanel(Translatrix.getTranslationString("dicom.FileInput"));
    FormLayout fileLayout = new FormLayout("55dlu, 2dlu, pref:grow, 2dlu, 40dlu, 2dlu, 20dlu, 2dlu, 30dlu",
            "pref, 2dlu, pref, 2dlu");
    filePanel.setLayout(fileLayout);
    JPanel fileChooserPanel = new JPanel(new BorderLayout());
    fileChooserPanel.add(this.fileName, BorderLayout.CENTER);
    fileChooserPanel.add(this.chooseFile, BorderLayout.EAST);
    // add Fields for file
    filePanel.add(this.fileEnabled, cc.xyw(1, 1, 3));
    filePanel.add(this.fileNameLabel, cc.xy(1, 3));
    filePanel.add(fileChooserPanel, cc.xyw(3, 3, 7));
    addSubPanel(filePanel);

    // add Fields for dicomCD
    dicomCD = createSubPanel(Translatrix.getTranslationString("dicom.DicomCDInput"));
    FormLayout dicomCDLayout = new FormLayout("55dlu, 2dlu, pref:grow, 2dlu, 40dlu, 2dlu, 20dlu, 2dlu, 30dlu",
            "pref, 2dlu, pref, 2dlu");
    dicomCD.setLayout(dicomCDLayout);
    JPanel dicomCDChooserPanel = new JPanel(new BorderLayout());
    dicomCDChooserPanel.add(this.dicomCDName, BorderLayout.CENTER);
    dicomCDChooserPanel.add(this.chooseDicomCDFile, BorderLayout.EAST);
    dicomCD.add(this.dicomCDEnabled, cc.xyw(1, 1, 3));
    dicomCD.add(this.dicomCDLabel, cc.xy(1, 3));
    dicomCD.add(dicomCDChooserPanel, cc.xyw(3, 3, 7));
    addSubPanel(dicomCD);

    // add Fields for dicomdir
    dicomdir = createSubPanel(Translatrix.getTranslationString("dicom.DicomDirInput"));
    FormLayout dicomdirLayout = new FormLayout("55dlu, 2dlu, pref:grow, 2dlu, 40dlu, 2dlu, 20dlu, 2dlu, 30dlu",
            "pref, 2dlu, pref, 2dlu");
    dicomdir.setLayout(dicomdirLayout);
    JPanel dicomdirChooserPanel = new JPanel(new BorderLayout());
    dicomdirChooserPanel.add(this.dicomdirName, BorderLayout.CENTER);
    dicomdirChooserPanel.add(this.chooseDicomDirFile, BorderLayout.EAST);
    dicomdir.add(this.dicomdirEnabled, cc.xyw(1, 1, 3));
    dicomdir.add(this.dicomdirLabel, cc.xy(1, 3));
    dicomdir.add(dicomdirChooserPanel, cc.xyw(3, 3, 7));
    if (!simpleMode && showDicomDir)
        addSubPanel(dicomdir);

    // build the Layout for DICOM rec.
    dicomRecPanel = createSubPanel(Translatrix.getTranslationString("dicom.DicomRec"));
    FormLayout dicomRecLayout = new FormLayout("55dlu, 2dlu, pref:grow, 2dlu, 40dlu, 2dlu, 20dlu, 2dlu, 30dlu",
            "pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu");
    dicomRecPanel.setLayout(dicomRecLayout);
    JPanel dicomRecChooserPanel = new JPanel(new BorderLayout());
    dicomRecChooserPanel.add(this.recDir, BorderLayout.CENTER);
    dicomRecChooserPanel.add(this.chooseRecDir, BorderLayout.EAST);
    // add Fields for dicom reciever
    dicomRecPanel.add(this.recEnabled, cc.xyw(1, 1, 3));
    dicomRecPanel.add(this.recAddressLabel, cc.xyw(1, 3, 3));
    dicomRecPanel.add(this.recIPLabel, cc.xyw(3, 3, 7));
    dicomRecPanel.add(this.recDirLabel, cc.xy(1, 5));
    dicomRecPanel.add(dicomRecChooserPanel, cc.xyw(3, 5, 7));
    dicomRecPanel.add(this.recAETLabel, cc.xy(1, 7));
    dicomRecPanel.add(this.recAET, cc.xyw(3, 7, 3));
    dicomRecPanel.add(this.recPortLabel, cc.xy(7, 7));
    dicomRecPanel.add(this.recPort, cc.xy(9, 7));

    dicomRecPanel.add(this.reindexLabel, cc.xy(1, 9));
    dicomRecPanel.add(this.reindexDesc, cc.xyw(3, 9, 5));
    dicomRecPanel.add(this.reindexButton, cc.xy(9, 9));
    if (!simpleMode && showStore)
        addSubPanel(dicomRecPanel);

    //       build the Layout for DICOM query
    dicomQueryPanel = createSubPanel(Translatrix.getTranslationString("dicom.DicomQuery"));
    FormLayout dicomQueryLayout = new FormLayout(
            "55dlu, 2dlu, pref:grow, 2dlu, 40dlu, 2dlu, 20dlu, 2dlu, 20dlu, 10dlu",
            "pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu");
    dicomQueryPanel.setLayout(dicomQueryLayout);
    // add Fields for dicom query
    dicomQueryPanel.add(this.queryEnabled, cc.xyw(1, 1, 3));
    jb = createTestButton();
    dicomQueryPanel.add(jb, cc.xy(10, 1));
    dicomQueryPanel.add(this.queryStringLabel, cc.xy(1, 3));
    dicomQueryPanel.add(this.queryString, cc.xyw(3, 3, 8));
    dicomQueryPanel.add(this.queryToAddressLabel, cc.xy(1, 5));
    dicomQueryPanel.add(this.queryToAddress, cc.xyw(3, 5, 3));
    dicomQueryPanel.add(this.queryToPortLabel, cc.xy(7, 5));
    dicomQueryPanel.add(this.queryToPort, cc.xyw(9, 5, 2));
    dicomQueryPanel.add(this.queryToAETLabel, cc.xy(1, 7));
    dicomQueryPanel.add(this.queryToAET, cc.xyw(3, 7, 8));
    if (!simpleMode && showQuery)
        addSubPanel(dicomQueryPanel);

    // build the Layout for fileinput
    selectorPanel = createSubPanel(Translatrix.getTranslationString("dicom.Selector"));
    FormLayout selectorLayout = new FormLayout("55dlu, 2dlu, pref:grow, 2dlu, 40dlu, 2dlu, 20dlu, 2dlu, 30dlu",
            "pref, 2dlu, pref, 2dlu");
    selectorPanel.setLayout(selectorLayout);
    JPanel selectorChooserPanel = new JPanel(new BorderLayout());
    selectorChooserPanel.add(this.selectorFileName, BorderLayout.CENTER);
    selectorChooserPanel.add(this.selectorChooseFile, BorderLayout.EAST);
    // add Fields for file
    selectorPanel.add(this.selectorEnabled, cc.xyw(1, 1, 3));
    selectorPanel.add(this.selectorNameLabel, cc.xy(1, 3));
    selectorPanel.add(selectorChooserPanel, cc.xyw(3, 3, 7));
    if (!simpleMode && showImageSelector)
        addSubPanel(selectorPanel);

    // build the Layout for DICOM sender
    dicomSendPanel = createSubPanel(Translatrix.getTranslationString("dicom.DicomSend"));
    FormLayout dicomSendLayout = new FormLayout(
            "55dlu, 2dlu, pref:grow, 2dlu, 10dlu, 2dlu, 70dlu:grow, 2dlu, 70dlu:grow",
            "pref, 2dlu, 50dlu, 2dlu, pref, 2dlu, pref, 2dlu");
    dicomSendPanel.setLayout(dicomSendLayout);
    // add Fields for dicom rsender
    dicomSendPanel.add(this.sendEnabled, cc.xyw(1, 1, 3));

    dicomSendPanel.add(new JScrollPane(this.senderUrls), cc.xyw(1, 3, 9));
    dicomSendPanel.add(deleteSenderButton, cc.xyw(7, 5, 1));
    dicomSendPanel.add(addSenderButton, cc.xyw(9, 5, 1));

    if (!simpleMode && showSend)
        addSubPanel(dicomSendPanel);

    //       build the Layout for DICOM header
    dicomHeaderPanel = createSubPanel(Translatrix.getTranslationString("dicom.DicomHeader"));
    FormLayout dicomHeaderLayout = new FormLayout(
            "55dlu, 2dlu, pref:grow, 2dlu, 40dlu, 2dlu, 20dlu, 2dlu, 30dlu",
            "pref, 2dlu, pref, 2dlu, fill:70dlu, 2dlu");
    dicomHeaderPanel.setLayout(dicomHeaderLayout);
    // add Fields for dicom header
    dicomHeaderPanel.add(this.showPreview, cc.xyw(1, 1, 7));
    dicomHeaderPanel.add(this.dicomHeaderLabel, cc.xy(1, 3));

    JButton chooseTag = new JButton("choose Tag");
    chooseTag.addActionListener(new ActionListener() {
        private TagChooserDialog chooseTagDialog;

        public void actionPerformed(ActionEvent e) {
            if (this.chooseTagDialog == null) {
                try {
                    Container parent = DICOMSettingsPlugin.this.getParent();
                    do {
                        parent = parent.getParent();
                    } while (parent != null && !(parent instanceof JDialog));
                    this.chooseTagDialog = new TagChooserDialog((JDialog) parent);
                } catch (Exception e2) {
                    this.chooseTagDialog = new TagChooserDialog();
                }
            }
            HeaderTag ht = chooseTagDialog.selectTag(null);
            if (ht != null) {
                dicomHeader.append("\n" + ht.getTagNr());
            }
        }
    });
    dicomHeaderPanel.add(chooseTag, cc.xy(1, 5));
    dicomHeaderPanel.add(new JScrollPane(this.dicomHeader), cc.xywh(3, 3, 7, 3));
    addSubPanel(dicomHeaderPanel);

}

From source file:net.bpfurtado.ljcolligo.gui.AboutFoo.java

License:Open Source License

private JPanel createMainPanel() {
    JPanel p = new JPanel(new BorderLayout());

    p.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), DisposeAction.ACTION_NAME);
    p.getActionMap().put(DisposeAction.ACTION_NAME, new DisposeAction(this));

    FormLayout layout = new FormLayout("15px, 160px, 19px, 350px, 15px",
            "12px, 23px, 15px, 213px, 12px, 275px");

    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.setDefaultDialogBorder();/*  ww  w  .  j  a  v a 2s .  c o  m*/

    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel(Util.getImage("about.png")), cc.xywh(1, 1, 1, 1));
    builder.add(new JLabel(Util.getImage("about.png")), cc.xywh(2, 1, 1, 1));
    builder.add(new JLabel(Util.getImage("about.png")), cc.xywh(3, 1, 1, 1));
    builder.add(new JLabel(Util.getImage("about.png")), cc.xywh(4, 1, 1, 1));
    builder.add(new JLabel(Util.getImage("about.png")), cc.xywh(5, 1, 1, 1));
    // builder.add(new JLabel("LJ Colligo - A livejournal Backup tool"), cc.xy(4, 2));

    // JTabbedPane t = new JTabbedPane();
    // t.setBorder(BorderFactory.createLineBorder(Color.yellow));
    // t.addTab("About", new JPanel());
    // t.addTab("License", new JPanel());
    // t.addTab("Sys props", new JPanel());
    // t.addTab("Env vars", new JPanel());
    //
    // builder.add(t, cc.xy(4, 4));

    p.add(builder.getPanel());
    return p;
}