Search in sources :

Example 26 with ListSelectionModel

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

the class AbstractAggregationPanel method addRows.

/**
 * @param rows {@link List} of {@link AggregationFunctionRow}s to add to the table model
 * @since 2.11
 */
protected void addRows(final List<R> rows) {
    if (rows == null) {
        throw new IllegalArgumentException("methods must not be null");
    }
    final T tableModel = getTableModel();
    final int rowCountBefore = tableModel.getRowCount();
    tableModel.add(rows);
    final int rowCountAfter = tableModel.getRowCount();
    final JTable table = getTable();
    final ListSelectionModel selectionModel = table.getSelectionModel();
    if (selectionModel != null) {
        // select the fresh added rows
        selectionModel.setSelectionInterval(rowCountBefore, rowCountAfter - 1);
        // scroll first selected row into view
        table.scrollRectToVisible(new Rectangle(table.getCellRect(rowCountBefore, 0, true)));
    }
}
Also used : JTable(javax.swing.JTable) Rectangle(java.awt.Rectangle) ListSelectionModel(javax.swing.ListSelectionModel)

Example 27 with ListSelectionModel

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

the class ColumnSelectionList method setSelectedColumns.

/**
 * Selects all given columns in the list. Non-existing columns are ignored.
 *
 * @param selCols an array with column names. Must not be <code>null</code>.
 */
public void setSelectedColumns(final String... selCols) {
    ListSelectionModel selModel = getSelectionModel();
    boolean oldvalue = m_selectionChangeAllowed;
    m_selectionChangeAllowed = true;
    selModel.clearSelection();
    for (int i = 0; i < m_listModel.getSize(); i++) {
        String name = ((DataColumnSpec) m_listModel.get(i)).getName();
        for (int j = 0; j < selCols.length; j++) {
            if (name.equals(selCols[j])) {
                selModel.addSelectionInterval(i, i);
                break;
            }
        }
    }
    m_selectionChangeAllowed = oldvalue;
}
Also used : DataColumnSpec(org.knime.core.data.DataColumnSpec) ListSelectionModel(javax.swing.ListSelectionModel) DefaultListSelectionModel(javax.swing.DefaultListSelectionModel)

Example 28 with ListSelectionModel

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

the class TableView method gotoCell.

/**
 * Scrolls to the given coordinate cell. This method is invoked from the navigation menu. If there is no such
 * coordinate it will display an error message.
 *
 * @param row the row to scroll to
 * @param col the col to scroll to (negative for row key)
 */
public void gotoCell(final int row, final int col) {
    final TableContentView cView = getContentTable();
    final ListSelectionModel colSelModel = cView.getColumnModel().getSelectionModel();
    final ListSelectionModel rowSelModel = cView.getSelectionModel();
    if (row >= 0) {
        try {
            cView.getValueAt(row, Math.max(col, 0));
        } catch (IndexOutOfBoundsException ioe) {
            if (cView.getColumnCount() != 0) {
                JOptionPane.showMessageDialog(this, "No such row/col: (" + (row + 1) + ", " + (col + 1) + ")", "Error", JOptionPane.ERROR_MESSAGE);
                return;
            }
        }
        rowSelModel.setSelectionInterval(row, row);
    } else {
        rowSelModel.clearSelection();
    }
    final Rectangle rec = cView.getCellRect(Math.max(row, 0), Math.max(col, 0), false);
    if (col >= 0) {
        colSelModel.setSelectionInterval(col, col);
    } else {
        colSelModel.clearSelection();
    }
    cView.scrollRectToVisible(rec);
}
Also used : Rectangle(java.awt.Rectangle) ListSelectionModel(javax.swing.ListSelectionModel)

Example 29 with ListSelectionModel

use of javax.swing.ListSelectionModel in project vcell by virtualcell.

the class OverlayEditorPanelJAI method initialize.

/**
 * This method initializes this
 */
private void initialize() {
    this.setSize(734, 710);
    final GridBagLayout gridBagLayout_1 = new GridBagLayout();
    gridBagLayout_1.rowWeights = new double[] { 0.0, 1.0, 0 };
    gridBagLayout_1.columnWeights = new double[] { 1.0 };
    gridBagLayout_1.rowHeights = new int[] { 0, 0, 0 };
    this.setLayout(gridBagLayout_1);
    editROIPanel = new JPanel();
    final GridBagLayout gridBagLayout_2 = new GridBagLayout();
    gridBagLayout_2.rowHeights = new int[] { 0, 0, 7 };
    gridBagLayout_2.columnWidths = new int[] { 0, 7 };
    editROIPanel.setLayout(gridBagLayout_2);
    final GridBagConstraints gridBagConstraints_6 = new GridBagConstraints();
    gridBagConstraints_6.anchor = GridBagConstraints.WEST;
    gridBagConstraints_6.insets = new Insets(2, 2, 5, 2);
    gridBagConstraints_6.weightx = 1.0;
    gridBagConstraints_6.gridy = 0;
    gridBagConstraints_6.gridx = 0;
    add(editROIPanel, gridBagConstraints_6);
    final JLabel infoLabel = new JLabel();
    infoLabel.setText("Data Info:");
    final GridBagConstraints gridBagConstraints_12 = new GridBagConstraints();
    gridBagConstraints_12.insets = new Insets(0, 0, 0, 4);
    gridBagConstraints_12.anchor = GridBagConstraints.EAST;
    gridBagConstraints_12.gridy = 0;
    gridBagConstraints_12.gridx = 0;
    editROIPanel.add(infoLabel, gridBagConstraints_12);
    textLabel = new JLabel();
    textLabel.setPreferredSize(new Dimension(500, 20));
    textLabel.setMinimumSize(new Dimension(500, 20));
    final GridBagConstraints gridBagConstraints_2 = new GridBagConstraints();
    gridBagConstraints_2.fill = GridBagConstraints.HORIZONTAL;
    gridBagConstraints_2.weightx = 1;
    gridBagConstraints_2.insets = new Insets(0, 2, 0, 0);
    gridBagConstraints_2.anchor = GridBagConstraints.WEST;
    gridBagConstraints_2.gridy = 0;
    gridBagConstraints_2.gridx = 1;
    gridBagConstraints_2.gridwidth = 2;
    editROIPanel.add(textLabel, gridBagConstraints_2);
    textLabel.setText("No FRAP DataSet loaded.");
    autoCropButton = new JButton(new ImageIcon(getClass().getResource("/images/autoCrop.gif")));
    autoCropButton.setName("roiAutoCropBtn");
    autoCropButton.addActionListener(new ActionListener() {

        public void actionPerformed(final ActionEvent e) {
            firePropertyChange(FRAP_DATA_AUTOCROP_PROPERTY, null, null);
        }
    });
    clearROIbutton = new JButton(new ImageIcon(getClass().getResource("/images/clearROI.gif")));
    clearROIbutton.setEnabled(false);
    clearROIbutton.setName("clearROIBtn");
    clearROIbutton.addActionListener(new ActionListener() {

        public void actionPerformed(final ActionEvent e) {
            if (roiComboBox.getItemCount() == 0) {
                giveROIRequiredWarning("Clear Domain");
                return;
            }
            firePropertyChange(FRAP_DATA_CLEARROI_PROPERTY, ((ROIMultiPaintManager.ComboboxROIName) roiComboBox.getSelectedItem()), null);
        }
    });
    viewZLabel = new JLabel();
    viewZLabel.setText("View Z:");
    final GridBagConstraints gridBagConstraints_17 = new GridBagConstraints();
    gridBagConstraints_17.insets = new Insets(0, 0, 0, 4);
    gridBagConstraints_17.anchor = GridBagConstraints.EAST;
    gridBagConstraints_17.gridy = 1;
    gridBagConstraints_17.gridx = 0;
    editROIPanel.add(viewZLabel, gridBagConstraints_17);
    final JPanel panel_1 = new JPanel();
    final GridBagLayout gridBagLayout_4 = new GridBagLayout();
    gridBagLayout_4.columnWeights = new double[] { 1.0 };
    gridBagLayout_4.columnWidths = new int[] { 7 };
    panel_1.setLayout(gridBagLayout_4);
    final GridBagConstraints gridBagConstraints_18 = new GridBagConstraints();
    gridBagConstraints_18.anchor = GridBagConstraints.WEST;
    gridBagConstraints_18.insets = new Insets(0, 2, 0, 0);
    gridBagConstraints_18.fill = GridBagConstraints.HORIZONTAL;
    gridBagConstraints_18.weightx = 0;
    gridBagConstraints_18.gridy = 1;
    gridBagConstraints_18.gridx = 1;
    editROIPanel.add(panel_1, gridBagConstraints_18);
    final GridBagConstraints gridBagConstraints_19 = new GridBagConstraints();
    gridBagConstraints_19.insets = new Insets(0, 0, 5, 0);
    gridBagConstraints_19.fill = GridBagConstraints.HORIZONTAL;
    gridBagConstraints_19.anchor = GridBagConstraints.WEST;
    gridBagConstraints_19.weightx = 1;
    gridBagConstraints_19.gridy = 0;
    gridBagConstraints_19.gridx = 0;
    panel_1.add(getZSlider(), gridBagConstraints_19);
    viewTLabel = new JLabel();
    viewTLabel.setText("View Time:");
    final GridBagConstraints gridBagConstraints_13 = new GridBagConstraints();
    gridBagConstraints_13.insets = new Insets(0, 0, 0, 4);
    gridBagConstraints_13.anchor = GridBagConstraints.EAST;
    gridBagConstraints_13.gridy = 2;
    gridBagConstraints_13.gridx = 0;
    editROIPanel.add(viewTLabel, gridBagConstraints_13);
    final JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());
    final GridBagConstraints gridBagConstraints_15 = new GridBagConstraints();
    gridBagConstraints_15.fill = GridBagConstraints.HORIZONTAL;
    gridBagConstraints_15.weightx = 1;
    gridBagConstraints_15.insets = new Insets(0, 0, 0, 0);
    gridBagConstraints_15.anchor = GridBagConstraints.WEST;
    gridBagConstraints_15.gridy = 0;
    gridBagConstraints_15.gridx = 0;
    panel.add(getTimeSlider(), gridBagConstraints_15);
    final GridBagConstraints gridBagConstraints_14 = new GridBagConstraints();
    gridBagConstraints_14.fill = GridBagConstraints.HORIZONTAL;
    gridBagConstraints_14.insets = new Insets(0, 2, 0, 0);
    gridBagConstraints_14.anchor = GridBagConstraints.WEST;
    gridBagConstraints_14.gridy = 2;
    gridBagConstraints_14.gridx = 1;
    editROIPanel.add(panel, gridBagConstraints_14);
    final JPanel editROIButtonPanel = new JPanel();
    final GridBagLayout gridBagLayout_3 = new GridBagLayout();
    gridBagLayout_3.rowWeights = new double[] { 0.0, 1.0 };
    gridBagLayout_3.columnWeights = new double[] { 0.0, 1.0, 0.0, 0.0, 0.0, 0.0 };
    gridBagLayout_3.columnWidths = new int[] { 0, 0, 7, 7, 0, 0 };
    editROIButtonPanel.setLayout(gridBagLayout_3);
    final GridBagConstraints gridBagConstraints_8 = new GridBagConstraints();
    gridBagConstraints_8.gridwidth = 2;
    gridBagConstraints_8.weightx = 0;
    gridBagConstraints_8.fill = GridBagConstraints.HORIZONTAL;
    gridBagConstraints_8.insets = new Insets(0, 2, 0, 0);
    gridBagConstraints_8.anchor = GridBagConstraints.WEST;
    gridBagConstraints_8.gridy = 3;
    gridBagConstraints_8.gridx = 0;
    editROIPanel.add(editROIButtonPanel, gridBagConstraints_8);
    panel_2 = new JPanel();
    GridBagConstraints gbc_panel_2 = new GridBagConstraints();
    gbc_panel_2.insets = new Insets(2, 2, 2, 2);
    gbc_panel_2.weighty = 1.0;
    gbc_panel_2.weightx = 1.0;
    gbc_panel_2.fill = GridBagConstraints.BOTH;
    gbc_panel_2.gridx = 0;
    gbc_panel_2.gridy = 1;
    add(panel_2, gbc_panel_2);
    GridBagLayout gbl_panel_2 = new GridBagLayout();
    gbl_panel_2.columnWidths = new int[] { 0, 0, 0 };
    gbl_panel_2.rowHeights = new int[] { 0 };
    gbl_panel_2.columnWeights = new double[] { 0, 1.0, 0.0 };
    gbl_panel_2.rowWeights = new double[] { 0.0 };
    panel_2.setLayout(gbl_panel_2);
    panel_3 = new JPanel();
    panel_3.setBorder(new LineBorder(new Color(0, 0, 0)));
    GridBagConstraints gbc_panel_3 = new GridBagConstraints();
    gbc_panel_3.fill = GridBagConstraints.BOTH;
    gbc_panel_3.insets = new Insets(2, 2, 2, 2);
    gbc_panel_3.gridx = 0;
    gbc_panel_3.gridy = 0;
    panel_2.add(panel_3, gbc_panel_3);
    GridBagLayout gbl_panel_3 = new GridBagLayout();
    gbl_panel_3.columnWidths = new int[] { 0, 0 };
    gbl_panel_3.rowHeights = new int[] { 0, 0, 0, 0 };
    gbl_panel_3.columnWeights = new double[] { 0.0, Double.MIN_VALUE };
    gbl_panel_3.rowWeights = new double[] { 0.0, 0.0, 0.0, Double.MIN_VALUE };
    panel_3.setLayout(gbl_panel_3);
    domainRegionLabel = new JLabel(DOMAIN_LIST_TEXT);
    GridBagConstraints gbc_domainRegionLabel = new GridBagConstraints();
    gbc_domainRegionLabel.insets = new Insets(0, 0, 2, 0);
    gbc_domainRegionLabel.gridx = 0;
    gbc_domainRegionLabel.gridy = 0;
    panel_3.add(domainRegionLabel, gbc_domainRegionLabel);
    scrollPane = new JScrollPane();
    GridBagConstraints gbc_scrollPane = new GridBagConstraints();
    gbc_scrollPane.insets = new Insets(0, 2, 0, 0);
    gbc_scrollPane.weighty = 1.0;
    gbc_scrollPane.fill = GridBagConstraints.BOTH;
    gbc_scrollPane.gridx = 0;
    gbc_scrollPane.gridy = 1;
    panel_3.add(scrollPane, gbc_scrollPane);
    scrollPane.setPreferredSize(new Dimension(125, 10));
    scrollPane.setMinimumSize(new Dimension(125, 10));
    scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
    resolvedList = new JList();
    resolvedList.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            super.mouseClicked(e);
            if (showConvertPopup(e, false) == SHOWCONVERT.HANDLED) {
                return;
            }
            if (e.getClickCount() == 2) {
                firePropertyChange(FRAP_DATA_FINDROI_PROPERTY, null, resolvedList.getSelectedValue());
            }
        }

        @Override
        public void mousePressed(MouseEvent e) {
            // TODO Auto-generated method stub
            super.mousePressed(e);
            if (showConvertPopup(e, false) == SHOWCONVERT.HANDLED) {
                return;
            }
        }

        @Override
        public void mouseReleased(MouseEvent e) {
            // TODO Auto-generated method stub
            super.mouseReleased(e);
            if (showConvertPopup(e, false) == SHOWCONVERT.HANDLED) {
                return;
            }
        }
    });
    resolvedList.addListSelectionListener(resolvedListSelectionListener);
    resolvedList.setCellRenderer(resolvedObjectListCellRenderer);
    scrollPane.setViewportView(resolvedList);
    mergeButton = new JButton("Auto-Merge");
    mergeButton.setToolTipText("Remove regions by merging with neighbor");
    mergeButton.setEnabled(false);
    mergeButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            resolvedListSelection(true);
        }
    });
    GridBagConstraints gbc_mergeButton = new GridBagConstraints();
    gbc_mergeButton.gridx = 0;
    gbc_mergeButton.gridy = 2;
    panel_3.add(mergeButton, gbc_mergeButton);
    GridBagConstraints gbc_jScrollPane2 = new GridBagConstraints();
    gbc_jScrollPane2.weighty = 1.0;
    gbc_jScrollPane2.weightx = 1.0;
    gbc_jScrollPane2.fill = GridBagConstraints.BOTH;
    gbc_jScrollPane2.insets = new Insets(2, 2, 2, 2);
    gbc_jScrollPane2.gridx = 1;
    gbc_jScrollPane2.gridy = 0;
    panel_2.add(getJScrollPane2(), gbc_jScrollPane2);
    GridBagConstraints gbc_toolButtonPanel = new GridBagConstraints();
    gbc_toolButtonPanel.weighty = 1.0;
    gbc_toolButtonPanel.insets = new Insets(2, 2, 0, 2);
    gbc_toolButtonPanel.anchor = GridBagConstraints.NORTH;
    gbc_toolButtonPanel.gridx = 2;
    gbc_toolButtonPanel.gridy = 0;
    panel_2.add(getToolButtonPanel(), gbc_toolButtonPanel);
    roiComboBox = new JComboBox();
    roiComboBox.setName("activeROIComboBox");
    roiComboBox.setRenderer(new ListCellRenderer() {

        private DefaultListCellRenderer listCellRender = new DefaultListCellRenderer();

        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
            ROIMultiPaintManager.ComboboxROIName comboboxROIName = (ROIMultiPaintManager.ComboboxROIName) value;
            if (comboboxROIName == null) {
                // return blank
                return listCellRender.getListCellRendererComponent(list, null, index, isSelected, cellHasFocus);
            }
            if (comboboxROIName.getHighlightColor() == null) {
                // return text only
                return listCellRender.getListCellRendererComponent(list, comboboxROIName.getROIName(), index, isSelected, cellHasFocus);
            }
            // return text with small color box
            Icon icon = new ColorIcon(20, 20, comboboxROIName.getHighlightColor());
            JLabel jlable = (JLabel) listCellRender.getListCellRendererComponent(list, icon, index, isSelected, cellHasFocus);
            jlable.setText(comboboxROIName.getROIName());
            return jlable;
        }
    });
    roiComboBox.addActionListener(ROI_COMBOBOX_ACTIONLISTENER);
    lblNewLabel = new JLabel("Active Domain:");
    GridBagConstraints gbc_lblNewLabel = new GridBagConstraints();
    gbc_lblNewLabel.insets = new Insets(4, 4, 4, 4);
    gbc_lblNewLabel.anchor = GridBagConstraints.EAST;
    gbc_lblNewLabel.gridx = 0;
    gbc_lblNewLabel.gridy = 0;
    editROIButtonPanel.add(lblNewLabel, gbc_lblNewLabel);
    final GridBagConstraints gridBagConstraints_1 = new GridBagConstraints();
    gridBagConstraints_1.fill = GridBagConstraints.HORIZONTAL;
    gridBagConstraints_1.insets = new Insets(4, 4, 5, 5);
    gridBagConstraints_1.weightx = 1;
    gridBagConstraints_1.gridy = 0;
    gridBagConstraints_1.gridx = 1;
    editROIButtonPanel.add(roiComboBox, gridBagConstraints_1);
    addROIButton = new JButton();
    addROIButton.setName("roiAddBtn");
    addROIButton.addActionListener(addROIActionListener);
    addROIButton.setText("Add Domain...");
    final GridBagConstraints gridBagConstraints_3 = new GridBagConstraints();
    gridBagConstraints_3.insets = new Insets(4, 4, 5, 5);
    gridBagConstraints_3.gridy = 0;
    gridBagConstraints_3.gridx = 2;
    editROIButtonPanel.add(addROIButton, gridBagConstraints_3);
    delROIButton = new JButton();
    delROIButton.setName("roiDeleteBtn");
    delROIButton.addActionListener(new ActionListener() {

        public void actionPerformed(final ActionEvent e) {
            firePropertyChange(FRAP_DATA_DELETEROI_PROPERTY, ((ROIMultiPaintManager.ComboboxROIName) roiComboBox.getSelectedItem()), null);
        }
    });
    delROIButton.setText("Delete Domain...");
    delROIButton.setEnabled(false);
    final GridBagConstraints gridBagConstraints_4 = new GridBagConstraints();
    gridBagConstraints_4.insets = new Insets(4, 4, 5, 5);
    gridBagConstraints_4.gridy = 0;
    gridBagConstraints_4.gridx = 3;
    editROIButtonPanel.add(delROIButton, gridBagConstraints_4);
    discardHighlightsButton = new JButton("Clear Selections");
    discardHighlightsButton.setEnabled(false);
    discardHighlightsButton.setName("clearHighlightsBtn");
    discardHighlightsButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            firePropertyChange(FRAP_DATA_DISCARDHIGHLIGHT_PROPERTY, null, null);
        }
    });
    GridBagConstraints gbc_specialActionsButton = new GridBagConstraints();
    gbc_specialActionsButton.insets = new Insets(4, 4, 5, 5);
    gbc_specialActionsButton.gridx = 4;
    gbc_specialActionsButton.gridy = 0;
    editROIButtonPanel.add(discardHighlightsButton, gbc_specialActionsButton);
    channelComboBox = new JComboBox();
    GridBagConstraints gbc_channelComboBox = new GridBagConstraints();
    gbc_channelComboBox.insets = new Insets(4, 4, 5, 4);
    gbc_channelComboBox.gridx = 5;
    gbc_channelComboBox.gridy = 0;
    editROIButtonPanel.add(channelComboBox, gbc_channelComboBox);
    channelComboBox.addActionListener(channelActionListener);
    channelComboBox.setPreferredSize(new Dimension(100, 22));
    channelComboBox.setMinimumSize(new Dimension(100, 20));
    blendPercentPanel = new JPanel();
    blendPercentPanel.setBorder(new LineBorder(new Color(0, 0, 0)));
    GridBagConstraints gbc_panel_2a = new GridBagConstraints();
    gbc_panel_2a.gridwidth = 6;
    gbc_panel_2a.insets = new Insets(4, 4, 4, 4);
    gbc_panel_2a.fill = GridBagConstraints.BOTH;
    gbc_panel_2a.gridx = 0;
    gbc_panel_2a.gridy = 1;
    editROIButtonPanel.add(blendPercentPanel, gbc_panel_2a);
    GridBagLayout gbl_panel_2a = new GridBagLayout();
    blendPercentPanel.setLayout(gbl_panel_2a);
    blendPercentROILabel = new JLabel("Domains");
    GridBagConstraints gbc_blendPercentROILabel = new GridBagConstraints();
    gbc_blendPercentROILabel.anchor = GridBagConstraints.WEST;
    gbc_blendPercentROILabel.gridx = 0;
    gbc_blendPercentROILabel.gridy = 0;
    blendPercentPanel.add(blendPercentROILabel, gbc_blendPercentROILabel);
    blendPercentSlider = new JSlider();
    blendPercentSlider.setToolTipText("Mix view of Domains and background image");
    blendPercentSlider.addChangeListener(new ChangeListener() {

        public void stateChanged(ChangeEvent e) {
            setBlendPercent(blendPercentSlider.getValue());
        // if(!blendPercentSlider.getValueIsAdjusting()){
        // setBlendPercent(blendPercentSlider.getValue());
        // }
        }
    });
    GridBagConstraints gbc_blendPercentSlider = new GridBagConstraints();
    gbc_blendPercentSlider.fill = GridBagConstraints.HORIZONTAL;
    gbc_blendPercentSlider.weightx = 0.5;
    gbc_blendPercentSlider.gridx = 1;
    gbc_blendPercentSlider.gridy = 0;
    blendPercentPanel.add(blendPercentSlider, gbc_blendPercentSlider);
    blendPercentImageLabel = new JLabel("Image");
    GridBagConstraints gbc_blendPercentImageLabel = new GridBagConstraints();
    gbc_blendPercentImageLabel.anchor = GridBagConstraints.EAST;
    gbc_blendPercentImageLabel.gridx = 2;
    gbc_blendPercentImageLabel.gridy = 0;
    blendPercentPanel.add(blendPercentImageLabel, gbc_blendPercentImageLabel);
    smoothOrigLabel = new JLabel("Original");
    GridBagConstraints gbc_smoothOrigLabel = new GridBagConstraints();
    gbc_smoothOrigLabel.insets = new Insets(0, 20, 0, 0);
    gbc_smoothOrigLabel.gridx = 3;
    gbc_smoothOrigLabel.gridy = 0;
    blendPercentPanel.add(smoothOrigLabel, gbc_smoothOrigLabel);
    smoothslider = new JSlider();
    smoothslider.setToolTipText("Smooth background image");
    smoothslider.setSnapToTicks(true);
    smoothslider.setPaintTicks(true);
    smoothslider.setMajorTickSpacing(1);
    smoothslider.setMaximum(10);
    smoothslider.setValue(0);
    smoothslider.addChangeListener(new ChangeListener() {

        public void stateChanged(ChangeEvent e) {
            if (!smoothslider.getValueIsAdjusting()) {
                firePropertyChange(FRAP_DATA_UNDERLAY_SMOOTH_PROPERTY, null, new Integer(smoothslider.getValue()));
            }
        }
    });
    GridBagConstraints gbc_smoothslider = new GridBagConstraints();
    gbc_smoothslider.fill = GridBagConstraints.HORIZONTAL;
    gbc_smoothslider.weightx = 0.5;
    gbc_smoothslider.gridx = 4;
    gbc_smoothslider.gridy = 0;
    blendPercentPanel.add(smoothslider, gbc_smoothslider);
    smootherLabel = new JLabel("Smoother");
    GridBagConstraints gbc_smootherLabel = new GridBagConstraints();
    gbc_smootherLabel.gridx = 5;
    gbc_smootherLabel.gridy = 0;
    blendPercentPanel.add(smootherLabel, gbc_smootherLabel);
    roiDrawButtonGroup.add(selectButton);
    roiDrawButtonGroup.add(paintButton);
    roiDrawButtonGroup.add(eraseButton);
    roiDrawButtonGroup.add(fillButton);
    roiDrawButtonGroup.add(cropButton);
    BeanUtils.enableComponents(getToolButtonPanel(), false);
    BeanUtils.enableComponents(editROIPanel, false);
    histogramPanel = new HistogramPanel();
    histogramPanel.addPropertyChangeListener(new PropertyChangeListener() {

        public void propertyChange(PropertyChangeEvent evt) {
            if (evt.getPropertyName().equals(HistogramPanel.HISTOGRAM_SELECT_PROPERTY)) {
                OverlayEditorPanelJAI.this.firePropertyChange(OverlayEditorPanelJAI.FRAP_DATA_HISTOUPDATEHIGHLIGHT_PROPERTY, null, (ListSelectionModel) evt.getNewValue());
            } else if (evt.getPropertyName().equals(HistogramPanel.HISTOGRAM_APPLY_ACTION)) {
                firePropertyChange(OverlayEditorPanelJAI.FRAP_DATA_UPDATEROI_WITHHIGHLIGHT_PROPERTY, null, null);
            }
        }
    });
    histogramPanel.setVisible(false);
    histogramPanel.setBorder(new LineBorder(new Color(0, 0, 0)));
    GridBagConstraints gbc_histogramButton = new GridBagConstraints();
    gbc_histogramButton.fill = GridBagConstraints.BOTH;
    gbc_histogramButton.insets = new Insets(2, 2, 2, 2);
    gbc_histogramButton.gridx = 0;
    gbc_histogramButton.gridy = 2;
    add(histogramPanel, gbc_histogramButton);
}
Also used : JPanel(javax.swing.JPanel) ImageIcon(javax.swing.ImageIcon) GridBagConstraints(java.awt.GridBagConstraints) Insets(java.awt.Insets) ComboboxROIName(cbit.vcell.geometry.gui.ROIMultiPaintManager.ComboboxROIName) GridBagLayout(java.awt.GridBagLayout) PropertyChangeListener(java.beans.PropertyChangeListener) ActionEvent(java.awt.event.ActionEvent) LineBorder(javax.swing.border.LineBorder) JButton(javax.swing.JButton) DefaultListCellRenderer(javax.swing.DefaultListCellRenderer) DefaultListCellRenderer(javax.swing.DefaultListCellRenderer) ListCellRenderer(javax.swing.ListCellRenderer) JSlider(javax.swing.JSlider) ChangeListener(javax.swing.event.ChangeListener) PropertyChangeListener(java.beans.PropertyChangeListener) Component(java.awt.Component) JComponent(javax.swing.JComponent) JScrollPane(javax.swing.JScrollPane) PropertyChangeEvent(java.beans.PropertyChangeEvent) MouseEvent(java.awt.event.MouseEvent) ColorIcon(org.vcell.util.gui.ColorIcon) JComboBox(javax.swing.JComboBox) Color(java.awt.Color) MouseAdapter(java.awt.event.MouseAdapter) JLabel(javax.swing.JLabel) ListSelectionModel(javax.swing.ListSelectionModel) Dimension(java.awt.Dimension) Point(java.awt.Point) ActionListener(java.awt.event.ActionListener) ChangeEvent(javax.swing.event.ChangeEvent) PropertyChangeEvent(java.beans.PropertyChangeEvent) ColorIcon(org.vcell.util.gui.ColorIcon) Icon(javax.swing.Icon) ZoomShapeIcon(cbit.vcell.graph.gui.ZoomShapeIcon) ImageIcon(javax.swing.ImageIcon) JList(javax.swing.JList)

Example 30 with ListSelectionModel

use of javax.swing.ListSelectionModel in project MassBank-web by MassBank.

the class PackageViewPanel method createRecListTable.

/**
 * ���R�[�h���X�g�e�[�u���쐬
 * @return ���R�[�h���X�g�e�[�u��
 */
private JTable createRecListTable() {
    recSorter = new TableSorter(new DefaultTableModel(), specData);
    JTable t = new JTable(recSorter) {

        @Override
        public boolean isCellEditable(int row, int column) {
            super.isCellEditable(row, column);
            // �Z���ҏW��s�‚Ƃ���
            return false;
        }

        @Override
        public void setValueAt(Object value, int row, int col) {
            super.setValueAt(value, row, col);
            // �`�F�b�N�{�b�N�X���ҏW���ꂽ�ꍇ�ɍĕ`����s��
            if (recTable.getColumnName(col).equals(SearchPage.COL_LABEL_DISABLE)) {
                PackageRecData recData = specData.getRecInfo(row);
                recData.setDisable(Boolean.parseBoolean(String.valueOf(recTable.getValueAt(row, col))));
                specData.setMatchPeakInfo(tolVal, tolUnit);
                PackageViewPanel.this.repaint();
                int hitCol = recTable.getColumnModel().getColumnIndex(SearchPage.COL_LABEL_HIT);
                for (int i = 0; i < recTable.getRowCount(); i++) {
                    // �ҏW���ꂽ���R�[�h�ɂ����Hit�J�����̒l���A�b�v�f�[�g����
                    setValueAt(specData.getRecInfo(i).getHitPeakNum(), i, hitCol);
                }
            }
        }

        @Override
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D) g;
            Rectangle2D area = new Rectangle2D.Float();
            // �h���b�O���Ƀh���b�O��h��‚Ԃ��\��
            if (!isSortStatus() && dragRowIndex >= 0) {
                g2.setPaint(Color.RED);
                g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f));
                area.setRect(0, (dragRowIndex * getRowHeight()), getWidth(), getRowHeight());
                g2.fill(area);
            }
            // change color�̏ꍇ�̓I�[�_�[�J�����̍s��h��‚Ԃ��\��
            if (chgColor.isSelected()) {
                for (int i = 0; i < recTable.getRowCount(); i++) {
                    // ��\���̏ꍇ�͐F�Â����Ȃ�
                    if (Boolean.parseBoolean(String.valueOf(getValueAt(i, getColumnModel().getColumnIndex(SearchPage.COL_LABEL_DISABLE))))) {
                        continue;
                    }
                    g2.setPaint(getColor(i));
                    g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.6f));
                    area.setRect(getCellRect(i, getColumnModel().getColumnIndex(SearchPage.COL_LABEL_ORDER), false));
                    g2.fill(area);
                }
            }
        }
    };
    recSorter.setTableHeader(t.getTableHeader());
    t.setMinimumSize(new Dimension(400, 400));
    t.setRowSelectionAllowed(true);
    t.setColumnSelectionAllowed(false);
    t.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    // ���X�i�[�lj�
    t.addMouseListener(new TblMouseListener());
    // ���X�i�[�lj�
    t.addMouseMotionListener(new TblMouseMotionListener());
    // �L�[���X�i�[�lj�
    t.addKeyListener(new TblKeyListener());
    // �I���W�i�������_���[
    t.setDefaultRenderer(Object.class, new TblRenderer());
    ListSelectionModel lm = t.getSelectionModel();
    lm.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    lm.addListSelectionListener(new LmSelectionListener());
    // �J�����Z�b�g
    String[] columnLabel = { SearchPage.COL_LABEL_ORDER, SearchPage.COL_LABEL_TYPE, SearchPage.COL_LABEL_NAME, SearchPage.COL_LABEL_MATCH, SearchPage.COL_LABEL_ID, SearchPage.COL_LABEL_DISABLE, SearchPage.COL_LABEL_CONTRIBUTOR, SearchPage.COL_LABEL_SCORE, SearchPage.COL_LABEL_HIT, SearchPage.COL_LABEL_PEAK, SearchPage.COL_LABEL_PRECURSOR };
    DefaultTableModel model = (DefaultTableModel) recSorter.getTableModel();
    model.setColumnIdentifiers(columnLabel);
    // �񕝃Z�b�g
    t.getColumn(t.getColumnName(0)).setPreferredWidth(36);
    t.getColumn(t.getColumnName(1)).setPreferredWidth(75);
    t.getColumn(t.getColumnName(2)).setPreferredWidth(360);
    t.getColumn(t.getColumnName(3)).setPreferredWidth(36);
    t.getColumn(t.getColumnName(4)).setPreferredWidth(70);
    t.getColumn(t.getColumnName(5)).setPreferredWidth(47);
    t.getColumn(t.getColumnName(6)).setPreferredWidth(70);
    t.getColumn(t.getColumnName(7)).setPreferredWidth(70);
    t.getColumn(t.getColumnName(8)).setPreferredWidth(20);
    t.getColumn(t.getColumnName(9)).setPreferredWidth(36);
    t.getColumn(t.getColumnName(10)).setPreferredWidth(58);
    return t;
}
Also used : DefaultTableModel(javax.swing.table.DefaultTableModel) Rectangle2D(java.awt.geom.Rectangle2D) ListSelectionModel(javax.swing.ListSelectionModel) Dimension(java.awt.Dimension) Point(java.awt.Point) Graphics2D(java.awt.Graphics2D) Graphics(java.awt.Graphics) JTable(javax.swing.JTable)

Aggregations

ListSelectionModel (javax.swing.ListSelectionModel)31 DefaultListSelectionModel (javax.swing.DefaultListSelectionModel)11 JTable (javax.swing.JTable)9 Dimension (java.awt.Dimension)7 JScrollPane (javax.swing.JScrollPane)7 BorderLayout (java.awt.BorderLayout)5 JButton (javax.swing.JButton)5 Point (java.awt.Point)4 Rectangle (java.awt.Rectangle)4 JLabel (javax.swing.JLabel)4 JPanel (javax.swing.JPanel)4 Color (java.awt.Color)3 Insets (java.awt.Insets)3 Component (java.awt.Component)2 FlowLayout (java.awt.FlowLayout)2 ActionEvent (java.awt.event.ActionEvent)2 ActionListener (java.awt.event.ActionListener)2 MouseEvent (java.awt.event.MouseEvent)2 ArrayList (java.util.ArrayList)2 ImageIcon (javax.swing.ImageIcon)2