Search in sources :

Example 36 with DefaultListCellRenderer

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

the class MissingValueHandling2Panel method getFixTextField.

/*
     * Helper in constructor, generates the text field to enter the replacement
     * value.
     */
private static JComponent getFixTextField(final MissingValueHandling2ColSetting setting, final DataColumnSpec... specs) {
    JComponent fixText;
    // FIX text field
    DataCell fixCell = setting.getFixCell();
    switch(setting.getType()) {
        case MissingValueHandling2ColSetting.TYPE_DOUBLE:
            fixText = new JFormattedTextField();
            ((JFormattedTextField) fixText).setColumns(11);
            Double doubel;
            if (fixCell == null) {
                doubel = new Double(0.0);
            } else {
                double d = ((DoubleValue) fixCell).getDoubleValue();
                doubel = new Double(d);
            }
            ((JFormattedTextField) fixText).setValue(doubel);
            break;
        case MissingValueHandling2ColSetting.TYPE_INT:
            fixText = new JFormattedTextField();
            ((JFormattedTextField) fixText).setColumns(11);
            Integer integer;
            if (fixCell == null) {
                integer = 0;
            } else {
                integer = ((IntValue) fixCell).getIntValue();
            }
            ((JFormattedTextField) fixText).setValue(integer);
            break;
        case MissingValueHandling2ColSetting.TYPE_STRING:
            final ArrayList<DataCell> vals = new ArrayList<DataCell>();
            if (specs != null) {
                for (DataColumnSpec spec : specs) {
                    if (spec != null && spec.getDomain().hasValues()) {
                        vals.addAll(spec.getDomain().getValues());
                    }
                }
            }
            DefaultComboBoxModel model = new DefaultComboBoxModel(vals.toArray(new DataCell[0]));
            fixText = new JComboBox(model);
            ((JComboBox) fixText).setPrototypeDisplayValue("#########");
            ((JComboBox) fixText).setEditable(true);
            ((JComboBox) fixText).setRenderer(new DefaultListCellRenderer() {

                /**
                 * Overridden to set tooltip text properly.
                 *
                 * @see DefaultListCellRenderer#getListCellRendererComponent(JList, Object, int, boolean, boolean)
                 */
                @Override
                public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) {
                    Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
                    if (c instanceof JComponent) {
                        ((JComponent) c).setToolTipText(value.toString());
                    }
                    return c;
                }
            });
            String string;
            if (fixCell == null) {
                string = "";
            } else {
                string = ((StringValue) fixCell).getStringValue();
            }
            model.setSelectedItem(string);
            break;
        default:
            throw new InternalError("No such type");
    }
    return fixText;
}
Also used : JComboBox(javax.swing.JComboBox) JComponent(javax.swing.JComponent) JFormattedTextField(javax.swing.JFormattedTextField) ArrayList(java.util.ArrayList) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) DataColumnSpec(org.knime.core.data.DataColumnSpec) DoubleValue(org.knime.core.data.DoubleValue) DefaultListCellRenderer(javax.swing.DefaultListCellRenderer) DataCell(org.knime.core.data.DataCell) JComponent(javax.swing.JComponent) Component(java.awt.Component) JList(javax.swing.JList)

Example 37 with DefaultListCellRenderer

use of javax.swing.DefaultListCellRenderer in project freeplane by freeplane.

the class RenderedContent method createRenderer.

@SuppressWarnings("serial")
public static DefaultListCellRenderer createRenderer() {
    return new DefaultListCellRenderer() {

        @Override
        public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
            RenderedContent<?> content = (RenderedContent<?>) value;
            Object renderedValue = content.text == null ? content.icon : content.text;
            DefaultListCellRenderer renderer = (DefaultListCellRenderer) super.getListCellRendererComponent(list, renderedValue, index, isSelected, cellHasFocus);
            if (content.icon != null) {
                if (content.text != null)
                    renderer.setIcon(content.icon);
                else
                    renderer.setHorizontalAlignment(CENTER);
            }
            return renderer;
        }
    };
}
Also used : DefaultListCellRenderer(javax.swing.DefaultListCellRenderer) JList(javax.swing.JList)

Example 38 with DefaultListCellRenderer

use of javax.swing.DefaultListCellRenderer in project cytoscape-impl by cytoscape.

the class FormulaBuilderDialog method getFunctionList.

private JList<Function> getFunctionList() {
    if (functionList == null) {
        DefaultListModel<Function> model = new DefaultListModel<>();
        functionList = new JList<>(model);
        functionList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        functionList.addListSelectionListener(new ListSelectionListener() {

            @Override
            public void valueChanged(ListSelectionEvent e) {
                functionSelected();
            }
        });
        functionList.setCellRenderer(new DefaultListCellRenderer() {

            @Override
            public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
                super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
                final Function fn = (Function) value;
                this.setText(fn.getName());
                this.setToolTipText(fn.getFunctionSummary());
                return this;
            }
        });
        final EquationParser parser = compiler.getParser();
        final List<Function> functions = new ArrayList<>(parser.getRegisteredFunctions());
        final Collator collator = Collator.getInstance(Locale.getDefault());
        Collections.sort(functions, new Comparator<Function>() {

            @Override
            public int compare(Function f1, Function f2) {
                return collator.compare(f1.getName(), f2.getName());
            }
        });
        final Class<?> requestedReturnType = getAttributeType(targetAttrName);
        int index = 0;
        for (final Function fn : functions) {
            if (returnTypeIsCompatible(requestedReturnType, fn.getReturnType()))
                model.add(index++, fn);
        }
    }
    return functionList;
}
Also used : EquationParser(org.cytoscape.equations.EquationParser) ListSelectionEvent(javax.swing.event.ListSelectionEvent) ArrayList(java.util.ArrayList) DefaultListModel(javax.swing.DefaultListModel) ListSelectionListener(javax.swing.event.ListSelectionListener) Collator(java.text.Collator) Function(org.cytoscape.equations.Function) DefaultListCellRenderer(javax.swing.DefaultListCellRenderer) Component(java.awt.Component)

Example 39 with DefaultListCellRenderer

use of javax.swing.DefaultListCellRenderer 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);
    roiDrawButtonGroup.add(translateToolButton);
    roiDrawButtonGroup.add(scaleToolButton);
    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 40 with DefaultListCellRenderer

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

the class StructureMappingTableModel method updateSubdomainComboBox.

@SuppressWarnings({ "rawtypes", "unchecked" })
private void updateSubdomainComboBox() {
    GeometryClass[] geometryClasses = getGeometryContext().getGeometry().getGeometryClasses();
    DefaultComboBoxModel aModel = new DefaultComboBoxModel();
    for (GeometryClass gc : geometryClasses) {
        aModel.addElement(gc);
    }
    JComboBox subdomainComboBoxCellEditor = new JComboBox();
    subdomainComboBoxCellEditor.setRenderer(new DefaultListCellRenderer() {

        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
            super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
            setHorizontalTextPosition(SwingConstants.LEFT);
            if (value instanceof GeometryClass) {
                GeometryClass gc = (GeometryClass) value;
                setText(gc.getName());
                if (value instanceof SubVolume) {
                    SubVolume subVolume = (SubVolume) value;
                    java.awt.Color handleColor = new java.awt.Color(colormap[subVolume.getHandle()]);
                    // small square icon with subdomain color
                    Icon icon = new ColorIcon(10, 10, handleColor, true);
                    setHorizontalTextPosition(SwingConstants.RIGHT);
                    setIcon(icon);
                } else if (value instanceof SurfaceClass) {
                    SurfaceClass sc = (SurfaceClass) value;
                    Set<SubVolume> sv = sc.getAdjacentSubvolumes();
                    Iterator<SubVolume> iterator = sv.iterator();
                    SubVolume sv1 = iterator.next();
                    SubVolume sv2 = iterator.next();
                    java.awt.Color c1 = new java.awt.Color(colormap[sv2.getHandle()]);
                    java.awt.Color c2 = new java.awt.Color(colormap[sv1.getHandle()]);
                    Icon icon = new ColorIconEx(10, 10, c1, c2);
                    setIcon(icon);
                    setHorizontalTextPosition(SwingConstants.RIGHT);
                }
            }
            return this;
        }
    });
    subdomainComboBoxCellEditor.setModel(aModel);
    ownerTable.getColumnModel().getColumn(SPATIAL_COLUMN_SUBDOMAIN).setCellEditor(new DefaultCellEditor(subdomainComboBoxCellEditor));
}
Also used : GeometryClass(cbit.vcell.geometry.GeometryClass) ColorIcon(org.vcell.util.gui.ColorIcon) JComboBox(javax.swing.JComboBox) SurfaceClass(cbit.vcell.geometry.SurfaceClass) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) DefaultCellEditor(javax.swing.DefaultCellEditor) DefaultListCellRenderer(javax.swing.DefaultListCellRenderer) SubVolume(cbit.vcell.geometry.SubVolume) ColorIcon(org.vcell.util.gui.ColorIcon) Icon(javax.swing.Icon) Component(java.awt.Component) ColorIconEx(org.vcell.util.gui.ColorIconEx) JList(javax.swing.JList)

Aggregations

DefaultListCellRenderer (javax.swing.DefaultListCellRenderer)55 Component (java.awt.Component)45 JList (javax.swing.JList)30 JLabel (javax.swing.JLabel)19 JComboBox (javax.swing.JComboBox)18 DefaultComboBoxModel (javax.swing.DefaultComboBoxModel)14 JComponent (javax.swing.JComponent)13 JPanel (javax.swing.JPanel)11 JScrollPane (javax.swing.JScrollPane)10 Dimension (java.awt.Dimension)9 GridBagConstraints (java.awt.GridBagConstraints)9 BorderLayout (java.awt.BorderLayout)8 GridBagLayout (java.awt.GridBagLayout)8 Point (java.awt.Point)6 ArrayList (java.util.ArrayList)6 Insets (java.awt.Insets)5 ActionEvent (java.awt.event.ActionEvent)5 Feature (cbit.vcell.model.Feature)4 Membrane (cbit.vcell.model.Membrane)4 SpeciesContext (cbit.vcell.model.SpeciesContext)3