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:ca.sqlpower.architect.swingui.ProfileGraphPanel.java

License:Open Source License

public ProfileGraphPanel(ProfilePanel panel, int rowCount) {
    this.profilePanel = panel;
    this.rowCount = rowCount;

    FormLayout displayLayout = new FormLayout("4dlu, default, 4dlu, 100dlu, 4dlu, fill:default:grow, 4dlu", // columns
            "4dlu, default, 6dlu"); // rows
    CellConstraints cc = new CellConstraints();

    validResultsPanel = ProfileGraphPanel.logger.isDebugEnabled() ? new FormDebugPanel(displayLayout)
            : new JPanel(displayLayout);
    validResultsPanel.setBorder(BorderFactory.createEtchedBorder());

    Font bodyFont = validResultsPanel.getFont();
    Font titleFont = bodyFont.deriveFont(Font.BOLD, bodyFont.getSize() * 1.25F);

    title = new JLabel("Column Name");
    title.setFont(titleFont);//from   www .  j a  v a  2s. c o  m

    PanelBuilder pb = new PanelBuilder(displayLayout, validResultsPanel);
    pb.add(title, cc.xyw(2, 2, 5));

    int row = 4;
    rowCountDisplay = makeInfoRow(pb, "RowCount", row);
    row += 2;
    nullableLabel = makeInfoRow(pb, "Nullable", row);
    row += 2;
    nullCountLabel = makeInfoRow(pb, "Null Count", row);
    row += 2;
    nullPercentLabel = makeInfoRow(pb, "% Null Records", row);
    row += 2;
    minLengthLabel = makeInfoRow(pb, "Minimum Length", row);
    row += 2;
    maxLengthLabel = makeInfoRow(pb, "Maximum Length", row);
    row += 2;
    uniqueCountLabel = makeInfoRow(pb, "Unique Values", row);
    row += 2;
    uniquePercentLabel = makeInfoRow(pb, "% Unique", row);
    row += 2;
    minValue = makeInfoRow(pb, "Minimum Value", row);
    row += 2;
    maxValue = makeInfoRow(pb, "Maximum Value", row);
    row += 2;
    avgValue = makeInfoRow(pb, "Average Value", row);
    row += 2;

    freqValueTable = new FreqValueTable(null);
    freqValueSp = new JScrollPane(freqValueTable);

    pb.appendRow("fill:10dlu:grow");
    pb.appendRow("fill:default:grow");
    pb.add(freqValueSp, cc.xyw(2, row + 1, 3));

    // Now add something to represent the chart
    JFreeChart createPieChart = ChartFactory.createPieChart("", new DefaultPieDataset(new DefaultKeyedValues()),
            false, false, false);
    chartPanel = new ChartPanel(createPieChart);
    chartPanel.setPreferredSize(new Dimension(300, 300));

    if (panel.getProfileManager().getWorkspaceContainer() instanceof ArchitectSession
            && ((ArchitectSession) panel.getProfileManager().getWorkspaceContainer()).isEnterpriseSession()) {
        pb.add(new JLabel("Column Profile Notes"), cc.xy(6, 2));
        notesField = new JTextArea();
        notesField.setLineWrap(true);
        notesField.setWrapStyleWord(true);
        JScrollPane notesScroll = new JScrollPane(notesField);
        notesScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        notesScroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        pb.add(notesScroll, cc.xywh(6, 4, 1, row - 4));

        pb.appendRow("fill:4dlu:grow");
        pb.appendRow("4dlu");

        pb.add(chartPanel, cc.xy(6, row + 1));
    } else {
        pb.appendRow("fill:4dlu:grow");
        pb.appendRow("4dlu");
        pb.add(chartPanel, cc.xywh(6, 4, 1, row - 2));
    }

    invalidResultsPanel = new JPanel(new BorderLayout());
    invalidResultsLabel = new JLabel("No error message yet");
    invalidResultsPanel.add(invalidResultsLabel);

    displayArea = new JPanel(new GridLayout(1, 1));
    displayArea.setPreferredSize(validResultsPanel.getPreferredSize());
}

From source file:ca.sqlpower.matchmaker.swingui.address.AddressValidationEntryPanel.java

License:Open Source License

private void buildUI() {
    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("fill:pref:grow,4dlu,fill:pref", "pref,4dlu,pref,4dlu,fill:pref:grow"), panel);
    builder.setDefaultDialogBorder();/*from w  w  w  .jav  a 2 s  .  c  om*/
    CellConstraints cc = new CellConstraints();

    try {
        final Address address1;

        logger.debug("ADDRESS BEFORE PARSING IS : " + addressResult.getOutputAddress());
        address1 = Address.parse(addressResult.getOutputAddress().getAddress(),
                addressResult.getOutputAddress().getMunicipality(),
                addressResult.getOutputAddress().getProvince(),
                addressResult.getOutputAddress().getPostalCode(), addressResult.getOutputAddress().getCountry(),
                addressDatabase);
        logger.debug("ADDRESS AFTER PARSING IS : " + address1);
        logger.debug("The output address is not empty.");
        logger.debug("The non-empty address is: " + address1);
        this.addressValidator = new AddressValidator(addressDatabase, address1);

        JButton saveButton = new JButton("Save");
        selectedAddressLabel = new AddressLabel(addressResult.getOutputAddress(), null, true,
                addressValidator.isAddressValid());
        selectedAddressLabel.addPropertyChangeListener(new PropertyChangeListener() {

            public void propertyChange(PropertyChangeEvent evt) {
                if (evt.getPropertyName().equals("currentAddress")) {
                    // update the suggestionList
                    Address address = (Address) evt.getNewValue();
                    if (address.getType() == null) { //unparsed address, needs to be parsed, This could also be a failed to parse address, won't hurt to try parsing again
                        try {
                            address = Address.parse(address.getAddress(), address.getMunicipality(),
                                    address.getProvince(), address.getPostalCode(), address.getCountry(),
                                    addressDatabase);
                        } catch (RecognitionException e) {
                            MMSUtils.showExceptionDialog(panel,
                                    "There was an error while trying to parse this address", e);
                        } catch (DatabaseException e) {
                            MMSUtils.showExceptionDialog(panel,
                                    "There was a database error while trying to parse this address", e);
                        }
                    }
                    addressValidator = new AddressValidator(addressDatabase, address);
                    suggestionList.setModel(new JList(addressValidator.getSuggestions().toArray()).getModel());
                    selectedAddressLabel.setAddressValid(addressValidator.isAddressValid());
                    updateProblemDetails();
                    save();
                }
            }
        });
        selectedAddressLabel.setFont(selectedAddressLabel.getFont()
                .deriveFont((float) (selectedAddressLabel.getFont().getSize() + 3)));

        JButton revertButton = new JButton("Revert");
        revertButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                try {
                    logger.debug("Revert Address: " + addressResult.toString());
                    Address address = Address.parse(addressResult.getInputAddress().getUnparsedAddressLine1(),
                            addressResult.getInputAddress().getMunicipality(),
                            addressResult.getInputAddress().getProvince(),
                            addressResult.getInputAddress().getPostalCode(),
                            addressResult.getInputAddress().getCountry(), addressDatabase);
                    addressResult.setOutputAddress(selectedAddressLabel.getCurrentAddress());
                    selectedAddressLabel.setCurrentAddress(address);
                } catch (RecognitionException e1) {
                    e1.printStackTrace();
                } catch (DatabaseException e1) {
                    throw new RuntimeException("A database exception occurred while parsing the address" + e1);
                }
            }

        });

        saveButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                save();
            }
        });

        //         undoButton = new JButton("Undo");

        //         redoButton = new JButton("Redo");

        JLabel suggestLabel = new JLabel("Suggestions:");
        suggestLabel.setFont(suggestLabel.getFont().deriveFont(Font.BOLD));

        problemsBuilder = new DefaultFormBuilder(new FormLayout("fill:pref:grow"));
        updateProblemDetails();
        suggestionList = new JList(addressValidator.getSuggestions().toArray());
        logger.debug("There are " + addressValidator.getSuggestions().size() + " suggestions.");
        suggestionList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        suggestionList.setCellRenderer(new AddressListCellRenderer(address1, false));
        suggestionList.addMouseListener(new MouseAdapter() {
            public void mouseReleased(MouseEvent e) {
                logger.debug("Mouse Clicked on suggestion list " + ((JList) e.getSource()).getSelectedValue());
                final Address selected = (Address) ((JList) e.getSource()).getSelectedValue();
                if (selected != null) {
                    //XXX:This does not update the model currently
                    selectedAddressLabel.setCurrentAddress(selected);
                }
            }
        });
        JScrollPane scrollList = new JScrollPane(suggestionList);
        scrollList.setPreferredSize(new Dimension(230, 1000));

        ButtonBarBuilder bbb = new ButtonBarBuilder();
        bbb.addRelatedGap();
        bbb.addGridded(revertButton);
        bbb.addRelatedGap();
        bbb.addGridded(saveButton);
        bbb.addRelatedGap();
        builder.add(bbb.getPanel(), cc.xy(1, 1));
        builder.add(suggestLabel, cc.xy(3, 1));
        builder.add(selectedAddressLabel, cc.xy(1, 3));
        builder.add(problemsBuilder.getPanel(), cc.xy(1, 5));
        builder.add(scrollList, cc.xywh(3, 3, 1, 3));

    } catch (RecognitionException e1) {
        MMSUtils.showExceptionDialog(getPanel(), "There was an error while trying to parse this address", e1);
    } catch (DatabaseException e1) {
        MMSUtils.showExceptionDialog(getPanel(),
                "There was a database error while trying to parse this address", e1);
    }
}

From source file:ca.sqlpower.swingui.enterprise.client.ServerProjectsManagerPanel.java

License:Open Source License

/**
 * This constructor creates a dialog for modifying and loading a project
 * from a single server designated by the given serverInfo parameter.
 * /*from w  ww .jav a 2 s  . co  m*/
 * @param serverInfo
 *            Projects will be retrieved from this server based on the
 *            information and displayed. The dialog will allow editing the
 *            security as well as creating and deleting projects on this
 *            server.
 * @param dialogOwner
 *            The dialog to parent new dialogs to.
 * @param upf
 *            A user prompter factory for displaying error and warning
 *            messages to users.
 * @param closeAction
 *            An action that will close the dialog or frame that this dialog
 *            is contained in.
 * @param defaultFileDirectory
 *            A default file directory to start looking for files in if the
 *            user wants to upload a project. If null this will default to
 *            the user's home directory.
 * @param cookieStore
 *            A cookie store for HTTP requests. Used by the
 *            {@link ClientSideSessionUtils}.
 */
public ServerProjectsManagerPanel(SPServerInfo serverInfo, Component dialogOwner, UserPrompterFactory upf,
        Action closeAction, File defaultFileDirectory, CookieStore cookieStore) {
    this.serverInfo = serverInfo;
    this.dialogOwner = dialogOwner;
    this.upf = upf;
    this.closeAction = closeAction;
    this.defaultFileDirectory = defaultFileDirectory;
    this.cookieStore = cookieStore;

    cookieStore.clear();

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

    servers = null;

    projects = new JList(new DefaultListModel());
    projects.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseReleased(MouseEvent e) {
            refreshPanel();
            if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) {
                getOpenAction().actionPerformed(null);
            }
        }
    });

    JScrollPane projectsPane = new JScrollPane(projects);
    projectsPane.setPreferredSize(new Dimension(250, 300));

    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel(serverInfo.getName() + "'s projects:"), cc.xyw(1, 1, 2));
    builder.nextLine();
    builder.add(projectsPane, cc.xywh(1, 2, 1, 2));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(refreshAction));
    buttonBarBuilder.append(securityButton);
    buttonBarBuilder.append(new JButton(newAction));
    buttonBarBuilder.append(openButton);
    buttonBarBuilder.append(new JButton(deleteAction));
    buttonBarBuilder.append(new JButton(closeAction));
    builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 2));
    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
}

From source file:ca.sqlpower.swingui.enterprise.client.ServerProjectsManagerPanel.java

License:Open Source License

/**
 * Creates a dialog that lets the user choose a server connection and then a
 * project./*from  w  w  w .  ja v  a  2  s . c  o  m*/
 * 
 * @param serverManager
 *            This object contains all of the server information objects
 *            known and the servers based on their information will be
 *            displayed in a list so a user can navigate to different
 *            projects in different servers.
 * @param dialogOwner
 *            The dialog to parent new dialogs to.
 * @param upf
 *            A user prompter factory for displaying error and warning
 *            messages to users.
 * @param closeAction
 *            An action that will close the dialog or frame that this dialog
 *            is contained in.
 * @param defaultFileDirectory
 *            A default file directory to start looking for files in if the
 *            user wants to upload a project. If null this will default to
 *            the user's home directory.
 * @param cookieStore
 *            A cookie store for HTTP requests. Used by the
 *            {@link ClientSideSessionUtils}.
 */
public ServerProjectsManagerPanel(SPServerInfoManager serverManager, Component dialogOwner,
        UserPrompterFactory upf, Action closeAction, File defaultFileDirectory, CookieStore cookieStore) {
    this.dialogOwner = dialogOwner;
    this.upf = upf;
    this.closeAction = closeAction;
    this.defaultFileDirectory = defaultFileDirectory;
    this.cookieStore = cookieStore;

    cookieStore.clear();

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

    servers = new JList(new DefaultListModel());
    servers.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseReleased(MouseEvent e) {
            if (SwingUtilities.isLeftMouseButton(e)) {
                refreshInfoList();
            }
        }
    });

    DefaultListModel serversModel = (DefaultListModel) servers.getModel();
    serversModel.removeAllElements();
    if (serverManager.getServers(false).size() > 0) {
        for (SPServerInfo serverInfo : serverManager.getServers(false)) {
            serversModel.addElement(serverInfo);
        }
    } else {
        serversModel.addElement("No Servers");
        servers.setEnabled(false);
    }

    projects = new JList(new DefaultListModel());
    projects.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseReleased(MouseEvent e) {
            refreshPanel();
            if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) {
                getOpenAction().actionPerformed(null);
            }
        }
    });

    JScrollPane projectsPane = new JScrollPane(projects);
    projectsPane.setPreferredSize(new Dimension(250, 300));

    JScrollPane serverPane = new JScrollPane(servers);
    serverPane.setPreferredSize(new Dimension(250, 300));

    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel("Servers:"), cc.xyw(1, 1, 2));
    builder.add(new JLabel("Projects:"), cc.xyw(3, 1, 2));
    builder.nextLine();
    builder.add(serverPane, cc.xywh(1, 2, 1, 2));
    builder.add(projectsPane, cc.xywh(3, 2, 1, 2));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(refreshAction));
    buttonBarBuilder.append(securityButton);
    buttonBarBuilder.append(new JButton(newAction));
    buttonBarBuilder.append(openButton);
    buttonBarBuilder.append(new JButton(uploadAction));
    buttonBarBuilder.append(new JButton(deleteAction));
    buttonBarBuilder.append(new JButton(closeAction));
    builder.add(buttonBarBuilder.getPanel(), cc.xy(5, 2));
    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
}

From source file:ca.sqlpower.swingui.enterprise.client.SPServerInfoManagerPanel.java

License:Open Source License

/**
 * Creates a panel that displays the currently configured server
 * connections. New connections can be added from this panel and existing
 * connections can be modified or removed.
 * //from   w  ww  .  j  av a2  s .  c om
 * @param manager
 *            An {@link SPServerInfoManager} instance that contains server connection information.
 * @param dialogOwner
 *            A component that will be used as the dialog owner for other
 *            panels.
 * @param closeAction
 *            An action that will properly close the object displaying the
 *            panel.
 * @param boxLabel
 *           Label of the server information box
 * @param addOrEditDialogLable
 *             Label of the Add/Edit panel
 */
public SPServerInfoManagerPanel(SPServerInfoManager manager, Component dialogOwner, Action closeAction,
        String boxLabel, String addOrEditDialogLable) {
    this.manager = manager;
    this.dialogOwner = dialogOwner;
    this.boxLable = boxLabel;
    this.addOrEditDialogLabel = addOrEditDialogLable;
    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("pref:grow, 5dlu, pref", "pref, pref, pref"));

    serverInfos = new JList(new DefaultListModel());
    serverInfos.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)
                    && connectButton.getAction() != null) {
                connectButton.getAction().actionPerformed(null);
            }
        }

    });
    JScrollPane scrollPane = new JScrollPane(serverInfos);
    scrollPane.setPreferredSize(new Dimension(400, 300));

    this.connectButton = new JButton();

    // Build the GUI
    refreshInfoList();
    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel(boxLable), cc.xyw(1, 1, 3));
    builder.nextLine();
    builder.add(scrollPane, cc.xywh(1, 2, 1, 2));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(addAction));
    buttonBarBuilder.append(new JButton(editAction));
    buttonBarBuilder.append(new JButton(removeAction));
    buttonBarBuilder.append(connectButton);
    buttonBarBuilder.append(new JButton(closeAction));
    builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 2));
    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
}

From source file:ca.sqlpower.swingui.FontSelector.java

License:Open Source License

public FontSelector(Font font, String[] fontList, SPFontLoader fontLoader) {

    this.fontLoader = fontLoader;
    if (font == null) {
        if (fontList == null || fontList.length == 0) {
            throw new IllegalArgumentException("The fontList parameter requires at least one valid font.");
        }/*  ww w .  j a  va 2s.c o  m*/
        font = Font.decode(fontList[0]);
        if (font == null) {
            throw new IllegalArgumentException("The fontList[0] element cannot be loaded.");
        }
    }

    logger.debug("Creating new font selector with given font: " + font);

    this.originalFont = font;

    SelectionHandler selectionHandler = new SelectionHandler();
    fontNameList = new JList(fontList);
    fontNameList.addListSelectionListener(selectionHandler);

    fontSizeSpinner = new JSpinner(new SpinnerNumberModel(font.getSize(), 1, 200, 1));
    fontSizeSpinner.addChangeListener(selectionHandler);

    fontSizeList = new JList(FONT_SIZES);
    fontSizeList.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            if (fontSizeList.getSelectedValue() != null) {
                fontSizeSpinner.setValue((Integer) fontSizeList.getSelectedValue());
            }
        }
    });

    styleChoice = new JList(FontStyle.values());
    styleChoice.setSelectedValue(FontStyle.forCode(font.getStyle()), true);
    styleChoice.addListSelectionListener(selectionHandler);

    FormLayout layout = new FormLayout("pref:grow, 4dlu, pref, 4dlu, pref",
            "pref, 4dlu, pref, 4dlu, fill:pref:grow");
    layout.setHonorsVisibility(true);
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    CellConstraints cc = new CellConstraints();

    builder.add(new JScrollPane(fontNameList), cc.xywh(1, 1, 1, 3));
    builder.add(fontSizeSpinner, cc.xywh(3, 1, 1, 1));
    builder.add(new JScrollPane(fontSizeList), cc.xywh(3, 3, 1, 1));
    builder.add(new JScrollPane(styleChoice), cc.xywh(5, 1, 1, 3));

    previewArea.setBackground(Color.WHITE);
    previewArea.setPreferredSize(new Dimension(300, 100));
    builder.add(previewArea, cc.xywh(1, 5, 5, 1));

    // Set defaults after creating layout so the "scroll to visible" works
    fontSizeList.setSelectedValue(Integer.valueOf(font.getSize()), true);
    fontNameList.setSelectedValue(font.getFamily(), true);
    logger.debug(
            "Set family list to \"" + font.getFamily() + "\" and size to " + Integer.valueOf(font.getSize()));

    panel = builder.getPanel();

    previewFont(); // ensure view is up to date!
}

From source file:ca.sqlpower.wabit.swingui.enterprise.ServerInfoManager.java

License:Open Source License

/**
 * Creates a panel that displays the currently configured server
 * connections. New connections can be added from this panel and existing
 * connections can be modified or removed.
 * //from w w  w .  j ava 2  s . co m
 * @param m_context
 *            A Wabit context that contains server connection information.
 * @param m_dialogOwner
 *            A component that will be used as the dialog owner for other
 *            panels.
 * @param closeAction
 *            An action that will properly close the object displaying the
 *            panel.
 */
public ServerInfoManager(WabitSessionContext m_context, Component m_dialogOwner, final Runnable closeAction) {
    this.context = m_context;
    this.dialogOwner = m_dialogOwner;
    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("pref:grow, 5dlu, pref", "pref, pref, pref"));

    serverInfos = new JList(new DefaultListModel());
    serverInfos.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            if (e.getClickCount() == 2 && SwingUtilities.isLeftMouseButton(e)) {
                editSelectedServer();
            }
        }

    });
    JScrollPane scrollPane = new JScrollPane(serverInfos);
    scrollPane.setPreferredSize(new Dimension(400, 300));

    this.connectButton = new JButton("Connect");
    this.connectButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            SPServerInfo selectedItem = (SPServerInfo) serverInfos.getSelectedValue();

            Window dialogParent;
            if (dialogOwner instanceof Window) {
                dialogParent = (Window) dialogOwner;
            } else {
                dialogParent = SwingUtilities.getWindowAncestor(dialogOwner);
            }

            if (selectedItem != null) {
                LogInToServerAction action = new LogInToServerAction(dialogParent, selectedItem, context);
                action.actionPerformed(e);
            }
        }
    });

    // Build the GUI
    refreshInfoList();
    CellConstraints cc = new CellConstraints();
    builder.add(new JLabel("Available Server Connections:"), cc.xyw(1, 1, 3));
    builder.nextLine();
    builder.add(scrollPane, cc.xywh(1, 2, 1, 2));

    DefaultFormBuilder buttonBarBuilder = new DefaultFormBuilder(new FormLayout("pref"));
    buttonBarBuilder.append(new JButton(addAction));
    buttonBarBuilder.append(new JButton(editAction));
    buttonBarBuilder.append(new JButton(removeAction));
    buttonBarBuilder.append(connectButton);
    buttonBarBuilder.append(new JButton(new AbstractAction("Close") {
        public void actionPerformed(ActionEvent arg0) {
            closeAction.run();
        }
    }));
    builder.add(buttonBarBuilder.getPanel(), cc.xy(3, 2));
    builder.setDefaultDialogBorder();
    panel = builder.getPanel();
}

From source file:ch.fork.AdHocRailway.ui.locomotives.configuration.LocomotiveConfig.java

License:Open Source License

private void buildPanel() {
    initComponents();//from  w  w w  . ja v a  2 s. c o m

    final FormLayout layout = new FormLayout("right:pref, 3dlu, pref:grow, 30dlu, right:pref, 3dlu, pref:grow",
            "p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow");
    layout.setColumnGroups(new int[][] { { 1, 5 }, { 3, 7 } });
    layout.setRowGroups(new int[][] { { 3, 5, 7, 9 } });

    final PanelBuilder builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();
    final CellConstraints cc = new CellConstraints();

    builder.addSeparator("General", cc.xyw(1, 1, 3));

    builder.addLabel("Name", cc.xy(1, 3));
    builder.add(nameTextField, cc.xy(3, 3));

    builder.addLabel("Description", cc.xy(1, 5));
    builder.add(descTextField, cc.xy(3, 5));

    builder.addLabel("Type", cc.xy(1, 7));
    builder.add(locomotiveTypeComboBox, cc.xy(3, 7));

    builder.addLabel("Image", cc.xy(1, 9));
    builder.add(chooseImageButton, cc.xy(3, 9));

    builder.add(imageLabel, cc.xyw(1, 11, 3));

    builder.addSeparator("Interface", cc.xyw(5, 1, 3));

    builder.addLabel("Bus", cc.xy(5, 3));
    builder.add(busSpinner, cc.xy(7, 3));

    builder.addLabel("Address 1", cc.xy(5, 5));
    builder.add(address1Spinner, cc.xy(7, 5));

    builder.addLabel("Address 2", cc.xy(5, 7));
    builder.add(address2Spinner, cc.xy(7, 7));

    builder.add(functionsTable, cc.xywh(5, 9, 3, 3));

    builder.add(errorPanel, cc.xyw(1, 13, 3));

    builder.add(buildButtonBar(), cc.xyw(5, 13, 3));

    // add(builder.getPanel());

    setLayout(new MigLayout());

    add(new JLabel("Name"));
    add(nameTextField, "w 300!");

    add(new JLabel("Bus"), "gap unrelated");
    add(busSpinner, "w 150!, wrap");

    add(new JLabel("Description"));
    add(descTextField, "w 300!");

    add(new JLabel("Address 1"), "gap unrelated");
    add(address1Spinner, "w 150!, wrap");

    add(new JLabel("Type"));
    add(locomotiveTypeComboBox, "w 150!");

    add(new JLabel("Address 2"), "gap unrelated");
    add(address2Spinner, "w 150!, wrap");

    add(new JLabel("Image"));
    add(chooseImageButton, "w 150!");

    add(new JLabel("Functions"), "gap unrelated");
    add(new JScrollPane(functionsTable), "h 200!, w 300!, span 1 2, wrap");

    add(imageLabel, "align center, span 2, wrap");

    add(buildButtonBar(), "span 4, align right");

}

From source file:ch.fork.AdHocRailway.ui.routes.configuration.RoutesConfigurationDialog.java

License:Open Source License

private void buildPanel() {
    initComponents();/*from w  ww  .j  a  v a2s .co  m*/
    initEventHandling();

    final FormLayout layout = new FormLayout("pref, 5dlu, pref, 5dlu",
            "pref, 3dlu, pref, 3dlu, pref, 3dlu, pref:grow, 3dlu, pref:grow, 3dlu, pref, 3dlu, pref");
    builder = new PanelBuilder(layout);
    layout.setColumnGroups(new int[][] { { 1, 3 } });
    builder.setDefaultDialogBorder();
    final CellConstraints cc = new CellConstraints();

    builder.addSeparator("Route Groups", cc.xyw(1, 1, 1));

    builder.add(new JScrollPane(routeGroupList), cc.xy(1, 3));
    builder.add(routeGroupConfig, cc.xy(1, 5));
    builder.add(buildRouteGroupButtonBar(), cc.xy(1, 7));

    builder.addSeparator("Routes", cc.xyw(3, 1, 1));

    builder.add(new JScrollPane(routesList), cc.xywh(3, 3, 1, 3));
    builder.add(buildRouteButtonBar(), cc.xy(3, 7));

    builder.add(buildMainButtonBar(), cc.xyw(1, 9, 4));

    add(builder.getPanel());
}

From source file:ch.fork.AdHocRailway.ui.turnouts.configuration.TurnoutConfig.java

License:Open Source License

private void buildPanel() {
    initComponents();/* w  ww. j a  v  a2  s  . c  o  m*/

    final FormLayout layout = new FormLayout(
            "right:pref, 3dlu, pref:grow, 30dlu, right:pref, 3dlu, pref:grow, 3dlu,pref:grow, 30dlu, pref",
            "p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu,p:grow, 3dlu, p:grow, 3dlu, p:grow, 10dlu,p:grow");
    layout.setColumnGroups(new int[][] { { 1, 5 }, { 3, 7 } });
    layout.setRowGroups(new int[][] { { 3, 5, 7, 9, 11 } });

    builder = new PanelBuilder(layout);
    builder.setDefaultDialogBorder();
    final CellConstraints cc = new CellConstraints();

    builder.addSeparator("General", cc.xyw(1, 1, 3));

    builder.addLabel("Number", cc.xy(1, 3));
    builder.add(numberTextField, cc.xy(3, 3));

    builder.addLabel("Description", cc.xy(1, 5));
    builder.add(descTextField, cc.xy(3, 5));

    builder.addLabel("Type", cc.xy(1, 7));
    builder.add(turnoutTypeComboBox, cc.xy(3, 7));

    builder.addLabel("Default State", cc.xy(1, 9));
    builder.add(turnoutDefaultStateComboBox, cc.xy(3, 9));

    builder.addLabel("Orientation", cc.xy(1, 11));
    builder.add(turnoutOrientationComboBox, cc.xy(3, 11));

    builder.addSeparator("Interface", cc.xyw(5, 1, 5));
    builder.addLabel("Bus 1", cc.xy(5, 3));
    builder.add(bus1TextField, cc.xy(7, 3));

    builder.addLabel("Address 1", cc.xy(5, 5));
    builder.add(address1TextField, cc.xy(7, 5));

    builder.addLabel("Bus 2", cc.xy(5, 7));
    builder.add(bus2TextField, cc.xy(7, 7));

    builder.addLabel("Address 2", cc.xy(5, 9));
    builder.add(address2TextField, cc.xy(7, 9));

    builder.add(switched1Checkbox, cc.xy(9, 5));

    builder.add(switched2Checkbox, cc.xy(9, 9));

    builder.addSeparator("Test", cc.xy(11, 1));
    builder.add(testTurnoutWidget, cc.xywh(11, 3, 1, 9));

    builder.add(errorPanel, cc.xyw(1, 13, 7));
    builder.add(buildButtonBar(), cc.xyw(7, 13, 5));

    add(builder.getPanel());
}