Search in sources :

Example 76 with Box

use of javax.swing.Box in project knime-core by knime.

the class ShortLinesPanel method getPanel.

private Container getPanel() {
    m_allowShortLines = new JCheckBox("allow short lines");
    Box result = Box.createHorizontalBox();
    result.add(Box.createHorizontalGlue());
    result.add(m_allowShortLines);
    result.add(Box.createHorizontalStrut(5));
    result.add(Box.createHorizontalGlue());
    return result;
}
Also used : JCheckBox(javax.swing.JCheckBox) JCheckBox(javax.swing.JCheckBox) Box(javax.swing.Box)

Example 77 with Box

use of javax.swing.Box in project knime-core by knime.

the class FixedWidthFRNodeDialog method createFileNamePanel.

private JPanel createFileNamePanel() {
    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
    panel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Enter ASCII data file location: (press 'Enter' to update preview)"));
    FlowVariableModel flowVarBrowseModel = createFlowVariableModel(FixedWidthFRSettings.CFGKEY_URL, Type.STRING);
    m_url = new FilesHistoryPanel(flowVarBrowseModel, FILEREADER_HISTORY_ID, LocationValidation.FileInput, new String[] { ".txt", ".csv" });
    m_url.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(final ChangeEvent e) {
            if (!m_loadSettings) {
                try {
                    URL newUrl = FileUtil.toURL(m_url.getSelectedFile());
                    m_nodeSettings.setFileLocation(newUrl);
                } catch (IOException | InvalidPathException ioe) {
                    m_nodeSettings.setFileLocation(null);
                }
                if (!m_preserveSettings.isSelected() && !m_url.isVariableReplacementEnabled()) {
                    m_nodeSettings.reset();
                }
                m_hasColHeaders.setSelected(m_nodeSettings.getHasColHeaders());
                m_hasRowHeaders.setSelected(m_nodeSettings.getHasRowHeader());
                updateColPropTable();
                updatePreview();
                updateEnables();
            }
        }
    });
    // the checkbox for preserving the current settings on file change
    Box preserveBox = Box.createHorizontalBox();
    m_preserveSettings = new JCheckBox("Preserve user settings for new location");
    m_preserveSettings.setToolTipText("if not checked, the settings you" + " have set are reset, if a new location is entered");
    m_preserveSettings.setSelected(false);
    m_preserveSettings.setEnabled(true);
    preserveBox.add(Box.createHorizontalGlue());
    preserveBox.add(m_preserveSettings);
    preserveBox.add(Box.createHorizontalGlue());
    panel.add(m_url);
    panel.add(preserveBox);
    panel.setMaximumSize(new Dimension(PANEL_WIDTH, 70));
    panel.setMinimumSize(new Dimension(PANEL_WIDTH, 70));
    return panel;
}
Also used : FlowVariableModel(org.knime.core.node.FlowVariableModel) JCheckBox(javax.swing.JCheckBox) JPanel(javax.swing.JPanel) ChangeEvent(javax.swing.event.ChangeEvent) PropertyChangeEvent(java.beans.PropertyChangeEvent) BoxLayout(javax.swing.BoxLayout) FilesHistoryPanel(org.knime.core.node.util.FilesHistoryPanel) ChangeListener(javax.swing.event.ChangeListener) PropertyChangeListener(java.beans.PropertyChangeListener) Box(javax.swing.Box) JCheckBox(javax.swing.JCheckBox) Dimension(java.awt.Dimension) URL(java.net.URL)

Example 78 with Box

use of javax.swing.Box in project knime-core by knime.

the class FixedWidthFRNodeDialog method createPreviewPanel.

/**
 * @return jpanel with all the preview components
 */
private JPanel createPreviewPanel() {
    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
    panel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Preview"));
    Box tableBox = Box.createHorizontalBox();
    PreviewTableContentView ptcv = new PreviewTableContentView();
    m_previewTableView = new TableView(ptcv);
    tableBox.add(m_previewTableView);
    panel.add(Box.createGlue());
    panel.add(tableBox);
    ptcv.addPropertyChangeListener(PreviewTableContentView.PROPERTY_SPEC_CHANGED, new PropertyChangeListener() {

        @Override
        public void propertyChange(final PropertyChangeEvent evt) {
            m_colIdx = (int) evt.getNewValue();
            m_colIdx = m_nodeSettings.getColIdxIncluded(m_colIdx);
            if (m_colIdx < m_nodeSettings.getNumberOfColumns() - 1) {
                // don't open edit dialog if clicked column equals
                // remaining characters column
                onEdit(m_colIdx);
            }
        }
    });
    return panel;
}
Also used : JPanel(javax.swing.JPanel) PropertyChangeEvent(java.beans.PropertyChangeEvent) PropertyChangeListener(java.beans.PropertyChangeListener) BoxLayout(javax.swing.BoxLayout) Box(javax.swing.Box) JCheckBox(javax.swing.JCheckBox) PreviewTableContentView(org.knime.base.node.io.filereader.PreviewTableContentView) TableView(org.knime.core.node.tableview.TableView)

Example 79 with Box

use of javax.swing.Box in project knime-core by knime.

the class DomainDialog method createValuesPanel.

/*
     * create a panel to enter possible values. Depending on the stringValues
     * parameter it will create one to enter integers or strings. The integer
     * panel will also have an additional checkbox to decide whether the integer
     * column has nominal values at all.
     *
     * @param stringValues the flag indicating that the panel should be for
     * entering possible values of type string. Otherwise (if set false) it will
     * allow only integer values to be entered.
     */
private JPanel createValuesPanel(final boolean stringValues) {
    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
    panel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "poss. Values"));
    if (!stringValues) {
        // the checkbox to tell if this columns contains nominal values
        m_containsVals = new JCheckBox("this integer column contains nominal values");
        m_containsVals.addItemListener(new ItemListener() {

            @Override
            public void itemStateChanged(final ItemEvent e) {
                containsValsChanged();
            }
        });
        Box checkBox = Box.createHorizontalBox();
        checkBox.add(m_containsVals);
        checkBox.add(Box.createHorizontalGlue());
        panel.add(checkBox);
        panel.add(Box.createVerticalStrut(3));
    }
    // the box to manually add/remove possible values
    m_editField = new JTextField(10);
    m_editField.setMaximumSize(new Dimension(100, 25));
    m_editField.setMinimumSize(new Dimension(100, 25));
    m_editField.setPreferredSize(new Dimension(100, 25));
    m_valueList = new JList<>();
    m_valueList.setMinimumSize(new Dimension(100, 150));
    m_valueList.setMaximumSize(new Dimension(100, 150));
    m_valueList.setPreferredSize(new Dimension(100, 150));
    m_errorLabel = new JLabel("");
    m_addButton = new JButton("Add");
    if (stringValues) {
        m_addButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(final ActionEvent e) {
                addStringPosValue();
            }
        });
    } else {
        m_addButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(final ActionEvent e) {
                addIntPosValue();
            }
        });
    }
    m_remButton = new JButton("Remove");
    m_remButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(final ActionEvent e) {
            remSelPosValues();
        }
    });
    Box buttonBox = Box.createVerticalBox();
    buttonBox.add(m_addButton);
    buttonBox.add(Box.createVerticalStrut(3));
    buttonBox.add(m_remButton);
    buttonBox.add(Box.createVerticalGlue());
    Box fieldBox = Box.createVerticalBox();
    fieldBox.add(m_editField);
    fieldBox.add(Box.createVerticalGlue());
    Box editBox = Box.createHorizontalBox();
    editBox.add(fieldBox);
    editBox.add(Box.createHorizontalStrut(3));
    editBox.add(buttonBox);
    // now this contains the textfield and the buttons arranged nicely
    // a box for the error label to ensure a certain height - even if empty
    Box errBox = Box.createHorizontalBox();
    errBox.add(Box.createVerticalStrut(25));
    errBox.add(m_errorLabel);
    errBox.add(Box.createHorizontalGlue());
    Box leftBox = Box.createVerticalBox();
    leftBox.add(editBox);
    leftBox.add(Box.createVerticalStrut(6));
    leftBox.add(errBox);
    leftBox.add(Box.createVerticalGlue());
    Box rightBox = Box.createHorizontalBox();
    rightBox.add(new JScrollPane(m_valueList));
    rightBox.add(Box.createVerticalStrut(150));
    // the over all nominal values boss box
    Box valsEditBox = Box.createHorizontalBox();
    valsEditBox.add(leftBox);
    valsEditBox.add(Box.createHorizontalStrut(3));
    valsEditBox.add(rightBox);
    valsEditBox.add(Box.createHorizontalGlue());
    panel.add(valsEditBox);
    return panel;
}
Also used : JScrollPane(javax.swing.JScrollPane) JPanel(javax.swing.JPanel) ItemEvent(java.awt.event.ItemEvent) ActionEvent(java.awt.event.ActionEvent) BoxLayout(javax.swing.BoxLayout) JButton(javax.swing.JButton) JLabel(javax.swing.JLabel) Box(javax.swing.Box) JCheckBox(javax.swing.JCheckBox) Dimension(java.awt.Dimension) JTextField(javax.swing.JTextField) JCheckBox(javax.swing.JCheckBox) ActionListener(java.awt.event.ActionListener) ItemListener(java.awt.event.ItemListener)

Example 80 with Box

use of javax.swing.Box in project knime-core by knime.

the class FileReaderNodeDialog method createSettingsPanel.

private JPanel createSettingsPanel() {
    JButton advanced = new JButton("Advanced...");
    int buttonHeight = advanced.getPreferredSize().height;
    m_hasRowHeaders = new JCheckBox("read row IDs");
    m_hasRowHeaders.setToolTipText("Check if the file contains row IDs" + " in the first column");
    m_hasColHeaders = new JCheckBox("read column headers");
    m_hasColHeaders.setToolTipText("Check if the file contains column" + " headers in the first line");
    JLabel deliLabel = new JLabel("Column delimiter:");
    m_delimField = new JComboBox();
    m_delimField.setMaximumSize(new Dimension(70, buttonHeight));
    m_delimField.setMinimumSize(new Dimension(70, buttonHeight));
    m_delimField.setPreferredSize(new Dimension(70, buttonHeight));
    m_delimField.setEditable(true);
    Delimiter[] selDelims = DEFAULT_DELIMS;
    m_delimField.setModel(new DefaultComboBoxModel(selDelims));
    deliLabel.setToolTipText("Specify the data delimiter character(s)");
    m_delimField.setToolTipText("Specify the data delimiter character(s)");
    m_cStyleComment = new JCheckBox("Java-style comments");
    m_cStyleComment.setToolTipText("Check to add support for '//' and " + "\"'/*' and '*/'\" comment");
    m_singleLineComment = new JTextField(2);
    m_singleLineComment.setMaximumSize(new Dimension(55, buttonHeight));
    m_singleLineComment.setMinimumSize(new Dimension(55, buttonHeight));
    m_singleLineComment.setPreferredSize(new Dimension(55, buttonHeight));
    JLabel commentLabel = new JLabel("Single line comment:");
    m_ignoreWS = new JCheckBox("ignore spaces and tabs");
    m_ignoreWS.setToolTipText("If checked, whitespaces (spaces and tabs)" + " will be discarded (if not quoted)");
    JPanel panel = new JPanel();
    panel.setLayout(new GridLayout(3, 3));
    panel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Basic Settings"));
    // top row
    Box rowBox = Box.createHorizontalBox();
    rowBox.add(m_hasRowHeaders);
    rowBox.add(Box.createGlue());
    Box delimBox = Box.createHorizontalBox();
    delimBox.add(Box.createHorizontalStrut(4));
    delimBox.add(deliLabel);
    delimBox.add(Box.createHorizontalStrut(3));
    delimBox.add(m_delimField);
    delimBox.add(Box.createGlue());
    Box advBox = Box.createHorizontalBox();
    advBox.add(Box.createGlue());
    advBox.add(advanced);
    advBox.add(Box.createGlue());
    // middle row
    Box colBox = Box.createHorizontalBox();
    colBox.add(m_hasColHeaders);
    colBox.add(Box.createGlue());
    Box wsBox = Box.createHorizontalBox();
    wsBox.add(m_ignoreWS);
    wsBox.add(Box.createGlue());
    // bottom row
    Box pValBox = Box.createHorizontalBox();
    // placeholder
    pValBox.add(new JLabel(""));
    pValBox.add(Box.createGlue());
    Box cCmtBox = Box.createHorizontalBox();
    cCmtBox.add(m_cStyleComment);
    cCmtBox.add(Box.createGlue());
    Box slcBox = Box.createHorizontalBox();
    slcBox.add(commentLabel);
    slcBox.add(Box.createHorizontalStrut(3));
    slcBox.add(m_singleLineComment);
    slcBox.add(Box.createGlue());
    // now fill the grid: first row
    panel.add(rowBox);
    panel.add(delimBox);
    panel.add(advBox);
    // second row
    panel.add(colBox);
    panel.add(wsBox);
    panel.add(new JLabel(""));
    // third row
    panel.add(pValBox);
    panel.add(cCmtBox);
    panel.add(slcBox);
    int componentsHeight = (2 * COMP_HEIGHT) + 30 + buttonHeight;
    panel.setMaximumSize(new Dimension(PANEL_WIDTH, componentsHeight));
    advanced.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(final ActionEvent e) {
            advancedSettings();
        }
    });
    m_hasRowHeaders.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(final ItemEvent e) {
            rowHeadersSettingsChanged();
        }
    });
    m_hasColHeaders.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(final ItemEvent e) {
            colHeadersSettingsChanged();
        }
    });
    m_cStyleComment.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(final ItemEvent e) {
            commentSettingsChanged();
        }
    });
    m_delimField.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(final ActionEvent e) {
            delimSettingsChanged();
        }
    });
    m_ignoreWS.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(final ItemEvent e) {
            ignoreWSChanged();
        }
    });
    m_singleLineComment.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void changedUpdate(final DocumentEvent e) {
            commentSettingsChanged();
        }

        @Override
        public void insertUpdate(final DocumentEvent e) {
            commentSettingsChanged();
        }

        @Override
        public void removeUpdate(final DocumentEvent e) {
            commentSettingsChanged();
        }
    });
    // add a panel for the errors:
    m_errorLabel = new JLabel("");
    m_errorLabel.setForeground(Color.red);
    m_errorDetail = new JLabel("");
    m_errorDetail.setForeground(Color.red);
    JPanel errorBox = new JPanel();
    errorBox.setLayout(new BoxLayout(errorBox, BoxLayout.X_AXIS));
    errorBox.add(Box.createHorizontalGlue());
    errorBox.add(m_errorLabel);
    // reserve a certain height for the (in the beginning invisible) label
    errorBox.add(Box.createVerticalStrut(17));
    errorBox.add(Box.createHorizontalGlue());
    JPanel detailBox = new JPanel();
    detailBox.setLayout(new BoxLayout(detailBox, BoxLayout.X_AXIS));
    detailBox.add(Box.createHorizontalGlue());
    detailBox.add(m_errorDetail);
    // reserve a certain height for the (in the beginning invisible) label
    detailBox.add(Box.createVerticalStrut(17));
    detailBox.add(Box.createHorizontalGlue());
    JPanel result = new JPanel();
    result.setLayout(new BoxLayout(result, BoxLayout.Y_AXIS));
    result.add(panel);
    result.add(errorBox);
    result.add(detailBox);
    return result;
}
Also used : JPanel(javax.swing.JPanel) DocumentListener(javax.swing.event.DocumentListener) ItemEvent(java.awt.event.ItemEvent) JComboBox(javax.swing.JComboBox) Delimiter(org.knime.core.util.tokenizer.Delimiter) ActionEvent(java.awt.event.ActionEvent) BoxLayout(javax.swing.BoxLayout) JButton(javax.swing.JButton) JLabel(javax.swing.JLabel) JComboBox(javax.swing.JComboBox) Box(javax.swing.Box) JCheckBox(javax.swing.JCheckBox) Dimension(java.awt.Dimension) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) JTextField(javax.swing.JTextField) DocumentEvent(javax.swing.event.DocumentEvent) JCheckBox(javax.swing.JCheckBox) GridLayout(java.awt.GridLayout) ActionListener(java.awt.event.ActionListener) ItemListener(java.awt.event.ItemListener)

Aggregations

Box (javax.swing.Box)192 JCheckBox (javax.swing.JCheckBox)95 JLabel (javax.swing.JLabel)93 JPanel (javax.swing.JPanel)87 Dimension (java.awt.Dimension)65 BorderLayout (java.awt.BorderLayout)51 JButton (javax.swing.JButton)48 JComboBox (javax.swing.JComboBox)46 JScrollPane (javax.swing.JScrollPane)42 BoxLayout (javax.swing.BoxLayout)38 ActionEvent (java.awt.event.ActionEvent)31 ActionListener (java.awt.event.ActionListener)28 JTextField (javax.swing.JTextField)25 EmptyBorder (javax.swing.border.EmptyBorder)19 Insets (java.awt.Insets)17 SearchFilterPanel (pcgen.gui2.filter.SearchFilterPanel)14 FlippingSplitPane (pcgen.gui2.tools.FlippingSplitPane)14 TitledBorder (javax.swing.border.TitledBorder)13 FilterBar (pcgen.gui2.filter.FilterBar)13 GridBagConstraints (java.awt.GridBagConstraints)12