Example usage for javax.swing JDialog pack

List of usage examples for javax.swing JDialog pack

Introduction

In this page you can find the example usage for javax.swing JDialog pack.

Prototype

@SuppressWarnings("deprecation")
public void pack() 

Source Link

Document

Causes this Window to be sized to fit the preferred size and layouts of its subcomponents.

Usage

From source file:org.nuclos.client.relation.EntityRelationshipModelEditPanel.java

private void editMasterdataRelation(mxCell cell) {
    EntityFieldMetaDataVO voField = null;
    RelationAttributePanel panel = new RelationAttributePanel(RelationAttributePanel.TYPE_ENTITY);
    String sSource = "";
    String sTarget = "";
    EntityMetaDataVO voSourceModify = null;
    if (cell.getValue() != null && cell.getValue() instanceof EntityFieldMetaDataVO) {
        voField = (EntityFieldMetaDataVO) cell.getValue();

        EntityMetaDataVO voSource = (EntityMetaDataVO) cell.getSource().getValue();
        voSourceModify = voSource;/*  w  w  w. j a v a  2  s  . c o  m*/
        EntityMetaDataVO voTarget = (EntityMetaDataVO) cell.getTarget().getValue();
        sSource = voSource.getEntity();
        sTarget = voTarget.getEntity();
        EntityMetaDataVO voForeign = MetaDataClientProvider.getInstance().getEntity(voSource.getEntity());
        EntityMetaDataVO voEntity = MetaDataClientProvider.getInstance().getEntity(voTarget.getEntity());
        panel.setEntity(voEntity);
        panel.setEntitySource(voForeign);
        panel.setEntityFields(
                MetaDataDelegate.getInstance().getAllEntityFieldsByEntity(voForeign.getEntity()).values());

        if (voField.getId() != null) {
            voField = MetaDataClientProvider.getInstance().getEntityField(voForeign.getEntity(),
                    voField.getField());
            List<TranslationVO> lstTranslation = new ArrayList<TranslationVO>();
            for (LocaleInfo lInfo : LocaleDelegate.getInstance().getAllLocales(false)) {
                Map<String, String> mp = new HashMap<String, String>();

                mp.put(TranslationVO.labelsField[0], LocaleDelegate.getInstance().getResourceByStringId(lInfo,
                        voField.getLocaleResourceIdForLabel()));
                mp.put(TranslationVO.labelsField[1], LocaleDelegate.getInstance().getResourceByStringId(lInfo,
                        voField.getLocaleResourceIdForDescription()));
                TranslationVO voTrans = new TranslationVO(lInfo.localeId, lInfo.title, lInfo.language, mp);
                lstTranslation.add(voTrans);
            }
            panel.setTranslation(lstTranslation);
            panel.setFieldValues(voField);
        } else {
            MyGraphModel model = (MyGraphModel) graphComponent.getGraph().getModel();
            panel.setFieldValues(voField);
            panel.setTranslationAndMore(model.getTranslation().get(voField));
        }
    } else if (cell.getValue() != null && cell.getValue() instanceof String) {
        EntityMetaDataVO voSource = (EntityMetaDataVO) cell.getSource().getValue();
        EntityMetaDataVO voTarget = (EntityMetaDataVO) cell.getTarget().getValue();
        sSource = voSource.getEntity();
        sTarget = voTarget.getEntity();

        EntityMetaDataVO voForeign = MetaDataClientProvider.getInstance().getEntity(voSource.getEntity());
        EntityMetaDataVO voEntity = MetaDataClientProvider.getInstance().getEntity(voTarget.getEntity());
        voSourceModify = voForeign;
        panel.setEntity(voEntity);
        panel.setEntitySource(voForeign);
        panel.setEntityFields(
                MetaDataDelegate.getInstance().getAllEntityFieldsByEntity(voSource.getEntity()).values());
    }

    double cellsDialog[][] = { { 5, TableLayout.PREFERRED, 5 }, { 5, TableLayout.PREFERRED, 5 } };
    JDialog dia = new JDialog(mf);
    dia.setLayout(new TableLayout(cellsDialog));
    dia.setTitle("Verbindung von " + sSource + " zu " + sTarget + " bearbeiten");
    dia.setLocationRelativeTo(EntityRelationshipModelEditPanel.this);
    dia.add(panel, "1,1");
    dia.setModal(true);
    panel.setDialog(dia);
    dia.pack();
    dia.setVisible(true);

    if (panel.getState() == 1) {
        EntityFieldMetaDataVO vo = panel.getField();
        cell.setValue(vo);

        EntityRelationshipModelEditPanel.this.fireChangeListenEvent();

        List<EntityFieldMetaDataTO> toList = new ArrayList<EntityFieldMetaDataTO>();

        EntityFieldMetaDataTO toField = new EntityFieldMetaDataTO();
        toField.setEntityFieldMeta(vo);
        toField.setTranslation(panel.getTranslation().getRows());
        toList.add(toField);

        MetaDataDelegate.getInstance().modifyEntityMetaData(voSourceModify, toList);

        MyGraphModel model = (MyGraphModel) graphComponent.getGraph().getModel();
        model.getTranslation().put(vo, panel.getTranslation().getRows());
        getGraphComponent().refresh();

        loadReferenz();

    } else {
        if (cell.getValue() instanceof String)
            getGraphModel().remove(cell);
    }
}

From source file:org.nuclos.client.relation.MyGraphModel.java

public JPopupMenu createRelationPopupMenu(final mxCell cell, boolean delete) {

    final JPopupMenu pop = new JPopupMenu();
    JMenuItem i1 = new JMenuItem(
            getSpringLocaleDelegate().getMessage("nuclos.entityrelation.editor.1", "Bezug zu Stammdaten"));
    i1.addActionListener(new ActionListener() {

        @Override//w  ww .  j a  va2 s  . c  om
        public void actionPerformed(ActionEvent e) {
            editPanel.setIsPopupShown(false);
            if (cell.getTarget() == null || cell.getSource() == null) {
                remove(cell);
                return;
            }
            Object cells[] = { cell };
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, mxConstants.STYLE_ENDARROW,
                    mxConstants.ARROW_OPEN);
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, mxConstants.STYLE_ENDSIZE, "12");
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, mxConstants.STYLE_ELBOW,
                    mxConstants.ELBOW_VERTICAL);
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, EDGESTYLE, ELBOWCONNECTOR);
            RelationAttributePanel panel = new RelationAttributePanel(RelationAttributePanel.TYPE_ENTITY);
            mxCell target = (mxCell) cell.getTarget();
            mxCell source = (mxCell) cell.getSource();
            panel.setEntity((EntityMetaDataVO) target.getValue());
            panel.setEntitySource((EntityMetaDataVO) source.getValue());
            EntityMetaDataVO voSource = (EntityMetaDataVO) source.getValue();
            EntityMetaDataVO voTarget = (EntityMetaDataVO) target.getValue();
            panel.setEntityFields(
                    MetaDataDelegate.getInstance().getAllEntityFieldsByEntity(voSource.getEntity()).values());
            double cellsDialog[][] = { { 5, TableLayout.PREFERRED, 5 }, { 5, TableLayout.PREFERRED, 5 } };
            JDialog dia = new JDialog(mf);
            dia.setLayout(new TableLayout(cellsDialog));
            dia.setTitle(getSpringLocaleDelegate().getMessage("nuclos.entityrelation.editor.10",
                    "Bezug zu Stammdaten bearbeiten"));
            dia.setLocationRelativeTo(editPanel);
            dia.add(panel, "1,1");
            dia.setModal(true);
            panel.setDialog(dia);
            dia.pack();
            dia.setVisible(true);

            if (panel.getState() == 1) {
                EntityFieldMetaDataVO vo = panel.getField();
                cell.setValue(vo);
                mpTransation.put(vo, panel.getTranslation().getRows());

                List<EntityFieldMetaDataTO> toList = new ArrayList<EntityFieldMetaDataTO>();

                EntityFieldMetaDataTO toField = new EntityFieldMetaDataTO();
                toField.setEntityFieldMeta(vo);
                toField.setTranslation(panel.getTranslation().getRows());
                toList.add(toField);

                MetaDataDelegate.getInstance().modifyEntityMetaData(voSource, toList);
                editPanel.loadReferenz();

            } else {
                remove(cell);
            }

        }
    });

    final JMenuItem i2 = new JMenuItem(getSpringLocaleDelegate().getMessage("nuclos.entityrelation.editor.3",
            "Bezug zu Vorg\u00e4ngen (Unterformularbezug)"));
    i2.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            editPanel.setIsPopupShown(false);
            if (cell.getTarget() == null || cell.getSource() == null) {
                remove(cell);
                return;
            }
            Object cells[] = { cell };
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, mxConstants.STYLE_ENDARROW,
                    mxConstants.ARROW_DIAMOND);
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, mxConstants.STYLE_ENDSIZE, "12");
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, mxConstants.STYLE_ELBOW,
                    mxConstants.ELBOW_VERTICAL);
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, EDGESTYLE, ELBOWCONNECTOR);
            mxCell target = (mxCell) cell.getTarget();
            mxCell source = (mxCell) cell.getSource();
            EntityMetaDataVO voSource = (EntityMetaDataVO) source.getValue();
            EntityMetaDataVO voTarget = (EntityMetaDataVO) target.getValue();
            String sFieldName = null;
            boolean blnNotSet = true;
            while (blnNotSet) {
                sFieldName = JOptionPane.showInputDialog(editPanel, getSpringLocaleDelegate().getMessage(
                        "nuclos.entityrelation.editor.1", "Bitte geben Sie den Namen des Feldes an!"));
                if (sFieldName == null || sFieldName.length() < 1) {
                    MyGraphModel.this.remove(cell);
                    return;
                } else if (sFieldName != null) {
                    blnNotSet = false;
                }
            }
            EntityFieldMetaDataVO vo = new EntityFieldMetaDataVO();
            vo.setModifiable(true);
            vo.setLogBookTracking(false);
            vo.setReadonly(false);
            vo.setShowMnemonic(true);
            vo.setInsertable(true);
            vo.setSearchable(true);
            vo.setNullable(false);
            vo.setUnique(true);
            vo.setDataType("java.lang.String");

            List<TranslationVO> lstTranslation = new ArrayList<TranslationVO>();
            for (LocaleInfo voLocale : LocaleDelegate.getInstance().getAllLocales(false)) {
                String sLocaleLabel = voLocale.language;
                Integer iLocaleID = voLocale.localeId;
                String sCountry = voLocale.title;
                Map<String, String> map = new HashMap<String, String>();

                TranslationVO translation = new TranslationVO(iLocaleID, sCountry, sLocaleLabel, map);
                for (String sLabel : labels) {
                    translation.getLabels().put(sLabel, sFieldName);
                }
                lstTranslation.add(translation);
            }

            vo.setForeignEntity(voTarget.getEntity());
            vo.setField(sFieldName);
            vo.setDbColumn("INTID_" + sFieldName);

            cell.setValue(vo);

            List<EntityFieldMetaDataTO> toList = new ArrayList<EntityFieldMetaDataTO>();

            EntityFieldMetaDataTO toField = new EntityFieldMetaDataTO();
            toField.setEntityFieldMeta(vo);
            toField.setTranslation(lstTranslation);
            toList.add(toField);

            MetaDataDelegate.getInstance().modifyEntityMetaData(voSource, toList);
            editPanel.loadReferenz();
        }
    });

    final JMenuItem i4 = new JMenuItem(
            getSpringLocaleDelegate().getMessage("nuclos.entityrelation.editor.5", "Arbeitsschritt"));
    i4.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            editPanel.setIsPopupShown(false);
            if (cell.getTarget() == null || cell.getSource() == null) {
                remove(cell);
                return;
            }
            Object cells[] = { cell };
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, mxConstants.STYLE_ENDARROW,
                    mxConstants.ARROW_OVAL);
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, mxConstants.STYLE_ENDSIZE, "12");
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, mxConstants.STYLE_ELBOW,
                    mxConstants.ELBOW_VERTICAL);
            mxUtils.setCellStyles(graphComponent.getGraph().getModel(), cells, EDGESTYLE, ELBOWCONNECTOR);

            try {

                mxCell cellSource = (mxCell) cell.getSource();
                mxCell cellTarget = (mxCell) cell.getTarget();

                EntityMetaDataVO sourceModule = (EntityMetaDataVO) cellSource.getValue();
                EntityMetaDataVO targetModule = (EntityMetaDataVO) cellTarget.getValue();

                String sSourceModule = sourceModule.getEntity();
                String sTargetModule = targetModule.getEntity();

                boolean blnFound = false;

                for (MasterDataVO voGeneration : MasterDataCache.getInstance()
                        .get(NuclosEntity.GENERATION.getEntityName())) {
                    String sSource = (String) voGeneration.getField("sourceModule");
                    String sTarget = (String) voGeneration.getField("targetModule");

                    if (org.apache.commons.lang.StringUtils.equals(sSource, sSourceModule)
                            && org.apache.commons.lang.StringUtils.equals(sTarget, sTargetModule)) {
                        GenerationCollectController gcc = (GenerationCollectController) NuclosCollectControllerFactory
                                .getInstance().newMasterDataCollectController(
                                        NuclosEntity.GENERATION.getEntityName(), null, null);
                        gcc.runViewSingleCollectableWithId(voGeneration.getId());
                        blnFound = true;
                        break;
                    }

                }
                if (!blnFound) {
                    GenerationCollectController gcc = (GenerationCollectController) NuclosCollectControllerFactory
                            .getInstance().newMasterDataCollectController(
                                    NuclosEntity.GENERATION.getEntityName(), null, null);
                    Map<String, Object> mp = new HashMap<String, Object>();
                    mp.put("sourceModule", sSourceModule);
                    mp.put("sourceModuleId", new Integer(
                            MetaDataClientProvider.getInstance().getEntity(sSourceModule).getId().intValue()));
                    mp.put("targetModule", sTargetModule);
                    mp.put("targetModuleId", new Integer(
                            MetaDataClientProvider.getInstance().getEntity(sTargetModule).getId().intValue()));
                    MasterDataVO vo = new MasterDataVO(NuclosEntity.GENERATION.getEntityName(), null, null,
                            null, null, null, null, mp);
                    gcc.runWithNewCollectableWithSomeFields(vo);
                }
            } catch (NuclosBusinessException e1) {
                LOG.warn("actionPerformed: " + e1);
            } catch (CommonPermissionException e1) {
                LOG.warn("actionPerformed: " + e1);
            } catch (CommonFatalException e1) {
                LOG.warn("actionPerformed: " + e1);
            } catch (CommonBusinessException e1) {
                LOG.warn("actionPerformed: " + e1);
            }
        }
    });

    JMenuItem i5 = new JMenuItem(
            getSpringLocaleDelegate().getMessage("nuclos.entityrelation.editor.12", "Verbindung l\u00f6sen"));
    i5.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            mxGraphModel model = (mxGraphModel) graphComponent.getGraph().getModel();
            model.remove(cell);
        }
    });

    pop.add(i1);
    pop.add(i2);
    //pop.add(i3);
    pop.add(i4);
    if (delete) {
        pop.addSeparator();
        pop.add(i5);
    }

    return pop;

}

From source file:org.nuclos.client.ui.collect.CollectController.java

/**
 * alternative entry point: lookup a <code>Collectable</code> (in a foreign entity).
 *///w ww . j  a  v  a2 s . c o  m
public void runLookupCollectable(final ICollectableListOfValues clctlovSource) throws CommonBusinessException {

    // show the internal frame in the front of the modal layer:
    final MainFrameTab ifrm = this.getTab();

    ifrm.setVisible(true);

    if (!clctlovSource.isSearchComponent()) {
        String label = getSpringLocaleDelegate().getMessage("CollectController.41", "Auswahl bernehmen");
        String description = getSpringLocaleDelegate().getMessage("CollectController.42",
                "Findet die bernahme in einem Unterformular statt werden mittels Mehrfachauswahl zustzliche Datenstze im Unterformular erzeugt.");
        if (clctlovSource instanceof CollectableListOfValues) {
            final CollectableListOfValues clov = (CollectableListOfValues) clctlovSource;
            if (clov.getValueListProvider() instanceof DatasourceBasedCollectableFieldsProvider) {
                ss.setValueListProviderDatasource(
                        ((DatasourceBasedCollectableFieldsProvider) clov.getValueListProvider())
                                .getDatasourceVO());
                ss.setValueListProviderDatasourceParameter(
                        ((DatasourceBasedCollectableFieldsProvider) clov.getValueListProvider())
                                .getValueListParameter());
            } else if (clov
                    .getValueListProvider() instanceof CollectableFieldsProviderCache.CachingCollectableFieldsProvider) {
                CollectableFieldsProvider delegate = ((CollectableFieldsProviderCache.CachingCollectableFieldsProvider) clov
                        .getValueListProvider()).getDelegate();
                if (delegate instanceof DatasourceBasedCollectableFieldsProvider) {
                    ss.setValueListProviderDatasource(
                            ((DatasourceBasedCollectableFieldsProvider) delegate).getDatasourceVO());
                    ss.setValueListProviderDatasourceParameter(
                            ((DatasourceBasedCollectableFieldsProvider) delegate).getValueListParameter());
                }
            }
        } else if (clctlovSource instanceof EntityListOfValues) {
            label = getSpringLocaleDelegate().getMessage("CollectController.lookup.generation",
                    "Objekte ausw\u00e4hlen");
            description = getSpringLocaleDelegate().getMessage(
                    "CollectController.lookup.generation.description",
                    "Parameterobjekte fr die Objektgenerierung ausw\u00e4hlen.");
        }
        final JMenuItem miPopupApplySelection = new JMenuItem(label);
        miPopupApplySelection.setToolTipText(description);

        getResultPanel().popupmenuRow.removeAll();//.addSeparator();
        getResultPanel().popupmenuRow.add(miPopupApplySelection);
        miPopupApplySelection.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                acceptLookedUpCollectable(clctlovSource);
                getTab().dispose();
            }
        });
    }

    // remove mouse listener for double click in table:
    getResultPanel().removeDoubleClickMouseListener(this.getMouseListenerForTableDoubleClick());

    // add alternative mouse listener for foreign key lookup:
    foreignKeyMouseListenerForTableDoubleClick = new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent ev) {
            if (SwingUtilities.isLeftMouseButton(ev) && ev.getClickCount() == 2) {
                int iRow = getResultTable().rowAtPoint(ev.getPoint());
                if (iRow >= 0 && iRow < getResultTable().getRowCount()) {
                    getResultTable().getSelectionModel().setSelectionInterval(iRow, iRow);
                    SwingUtilities.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            acceptLookedUpCollectable(clctlovSource);
                            getTab().dispose();
                        }
                    });
                }
            }
        }
    };

    getResultPanel().addDoubleClickMouseListener(foreignKeyMouseListenerForTableDoubleClick);
    // @see NUCLOS-432
    //getResultTable().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    getResultTable().getActionMap().put(KeyBindingProvider.EDIT_2.getKey(), new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            acceptLookedUpCollectable(clctlovSource);
            getTab().dispose();
        }
    });

    if (this.isSearchPanelAvailable()) {
        if (ss.getValueListProviderDatasource() != null) {
            this.runViewAll();
        } else {
            this.runSearch();
        }
    } else {
        this.runViewAll();
    }

    final Boolean modalLookup = (Boolean) clctlovSource
            .getProperty(ICollectableListOfValues.PROPERTY_MODAL_LOOKUP);
    if (Boolean.TRUE.equals(modalLookup)) {
        JDialog d = new JDialog(Main.getInstance().getMainFrame(), ifrm.getTitle(), true);
        FrameUtils.externalizeIntoWindow(ifrm, d);
        d.pack();
        d.setVisible(true);
    }
}

From source file:org.openflexo.view.controller.FlexoInspectorController.java

public static void main(String[] args) {
    JFrame frame = new JFrame();
    final JDialog dialog = new JDialog(frame);
    dialog.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
    JButton button = new JButton("Show dialog");
    button.addActionListener(new ActionListener() {

        @Override/*from  w ww.j a v  a 2  s. co  m*/
        public void actionPerformed(ActionEvent e) {
            dialog.setVisible(true);
        }
    });
    JLabel label = new JLabel("coucou");
    dialog.add(label);
    dialog.pack();
    JPanel panel = new JPanel(new BorderLayout());
    panel.add(button);
    panel.setPreferredSize(new Dimension(500, 400));
    frame.add(panel);
    frame.pack();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
}

From source file:org.tellervo.desktop.prefs.Prefs.java

private static boolean cantSave(Exception e) {
    JPanel message = new JPanel(new BorderLayout(0, 8)); // (hgap,vgap)
    message.add(new JLabel(I18n.getText("error.prefs_cant_save")), BorderLayout.NORTH);

    // -- dialog with optionpane (warning?)
    JOptionPane optionPane = new JOptionPane(message, JOptionPane.ERROR_MESSAGE);
    JDialog dialog = optionPane.createDialog(null /* ? */, I18n.getText("error.prefs_cant_save_title"));

    // -- buttons: cancel, try again.
    optionPane.setOptions(new String[] { I18n.getText("question.try_again"), I18n.getText("general.cancel") });

    // -- disclosure triangle with scrollable text area: click for
    // details... (stacktrace)
    JComponent stackTrace = new JScrollPane(new JTextArea(BugReport.getStackTrace(e), 10, 60));
    JDisclosureTriangle v = new JDisclosureTriangle(I18n.getText("bug.click_for_details"), stackTrace, false);
    message.add(v, BorderLayout.CENTER);

    // -- checkbox: don't warn me again
    JCheckBox dontWarnCheckbox = new JCheckBox(I18n.getText("bug.dont_warn_again"), false);
    dontWarnCheckbox.addActionListener(new AbstractAction() {
        private static final long serialVersionUID = 1L;

        public void actionPerformed(ActionEvent e) {
            dontWarn = !dontWarn;/* w ww .  j a v  a 2 s  .  c om*/
        }
    });

    // FIXME: consolidate |message| panel construction with Layout methods
    message.add(dontWarnCheckbox, BorderLayout.SOUTH);

    // show dialog
    dialog.pack();
    dialog.setResizable(false);
    dialog.setVisible(true);

    // return true if "try again" is clicked
    return optionPane.getValue().equals(I18n.getText("try_again"));
}

From source file:org.vpac.grisu.client.view.swing.mainPanel.Grisu.java

/**
 * This method initializes jMenuItem/*from ww w .j av  a  2 s . c  o  m*/
 * 
 * @return javax.swing.JMenuItem
 */
private JMenuItem getAboutMenuItem() {
    if (aboutMenuItem == null) {
        aboutMenuItem = new JMenuItem();
        aboutMenuItem.setText("About");
        aboutMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JDialog aboutDialog = getAboutDialog();
                aboutDialog.pack();
                Point loc = getJFrame().getLocation();
                loc.translate(20, 20);
                aboutDialog.setLocation(loc);
                aboutDialog.setVisible(true);
            }
        });
    }
    return aboutMenuItem;
}

From source file:pl.otros.logview.gui.actions.ChekForNewVersionOnStartupAction.java

@Override
protected void handleNewVersionIsAvailable(final String current, String running) {
    LOGGER.info(String.format("Running version is %s, current is %s", running, current));
    DataConfiguration configuration = getOtrosApplication().getConfiguration();
    String doNotNotifyThisVersion = configuration
            .getString(ConfKeys.VERSION_CHECK_SKIP_NOTIFICATION_FOR_VERSION, "2000-01-01");
    if (current != null && doNotNotifyThisVersion.compareTo(current) > 0) {
        return;// w  w  w  .  j  a v a  2  s  .c o  m
    }
    JPanel message = new JPanel(new GridLayout(4, 1, 4, 4));
    message.add(new JLabel(String.format("New version %s is available", current)));
    JButton button = new JButton("Open download page");
    button.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                Desktop.getDesktop()
                        .browse(new URI("https://sourceforge.net/projects/otroslogviewer/files/?source=app"));
            } catch (Exception e1) {
                String msg = "Can't open browser with download page: " + e1.getMessage();
                LOGGER.severe(msg);
                getOtrosApplication().getStatusObserver().updateStatus(msg, StatusObserver.LEVEL_ERROR);
            }
        }
    });
    message.add(button);

    final JCheckBox chboxDoNotNotifyMeAboutVersion = new JCheckBox("Do not notify me about version " + current);
    message.add(chboxDoNotNotifyMeAboutVersion);
    final JCheckBox chboxDoNotCheckVersionOnStart = new JCheckBox("Do not check for new version on startup");
    message.add(chboxDoNotCheckVersionOnStart);

    final JDialog dialog = new JDialog((Frame) null, "New version is available");
    dialog.getContentPane().setLayout(new BorderLayout(5, 5));
    dialog.getContentPane().add(message);

    JPanel jp = new JPanel(new FlowLayout(FlowLayout.CENTER));
    jp.add(new JButton(new AbstractAction("Ok") {

        /**
         * 
         */
        private static final long serialVersionUID = 7930093775785431184L;

        @Override
        public void actionPerformed(ActionEvent e) {
            dialog.setVisible(false);
            dialog.dispose();
            if (chboxDoNotNotifyMeAboutVersion.isSelected()) {
                LOGGER.fine("Disabling new version notificiation for " + current);
                getOtrosApplication().getConfiguration()
                        .setProperty(ConfKeys.VERSION_CHECK_SKIP_NOTIFICATION_FOR_VERSION, current);
            }
            if (chboxDoNotCheckVersionOnStart.isSelected()) {
                LOGGER.fine("Disabling new version check on start");
                getOtrosApplication().getConfiguration().setProperty(ConfKeys.VERSION_CHECK_ON_STARTUP, false);
            }
        }
    }));
    dialog.getContentPane().add(jp, BorderLayout.SOUTH);
    dialog.pack();
    dialog.setResizable(false);
    GuiUtils.centerOnScreen(dialog);
    dialog.setVisible(true);

}

From source file:pl.otros.vfs.browser.JOtrosVfsBrowserDialog.java

public ReturnValue showOpenDialog(Component parent, String title) {
    JDialog dialog = createDialog(parent);
    dialog.setTitle(title);/*from ww  w .  jav  a2 s. com*/
    if (size == null) {
        dialog.pack();
    } else {
        dialog.setSize(size);
    }
    dialog.setVisible(true);
    size = dialog.getSize();
    return returnValue;
}

From source file:plugins.tprovoost.Microscopy.MicroManagerForIcy.MMMainFrame.java

/**
 * Singleton pattern : private constructor Use instead.
 *///from ww  w  . j  a v  a 2 s .c  om
private MMMainFrame() {
    super(NODE_NAME, false, true, false, true);
    instancing = true;
    // --------------
    // INITIALIZATION
    // --------------
    _sysConfigFile = "";
    _isConfigLoaded = false;
    _root = PluginPreferences.getPreferences().node(NODE_NAME);
    final MainFrame mainFrame = Icy.getMainInterface().getMainFrame();

    // --------------
    // PROGRESS FRAME
    // --------------
    ThreadUtil.invokeLater(new Runnable() {
        @Override
        public void run() {
            _progressFrame = new IcyFrame("", false, false, false, false);
            _progressBar = new JProgressBar();
            _progressBar.setString("Please wait while loading...");
            _progressBar.setStringPainted(true);
            _progressBar.setIndeterminate(true);
            _progressBar.setMinimum(0);
            _progressBar.setMaximum(1000);
            _progressBar.setBounds(50, 50, 100, 30);
            _progressFrame.setSize(300, 100);
            _progressFrame.setResizable(false);
            _progressFrame.add(_progressBar);
            _progressFrame.addToMainDesktopPane();
            loadConfig(true);
            if (_sysConfigFile == "") {
                instancing = false;
                return;
            }
            ThreadUtil.bgRun(new Runnable() {

                @Override
                public void run() {
                    while (!_isConfigLoaded) {
                        if (!instancing)
                            return;
                        try {
                            Thread.sleep(10);
                        } catch (InterruptedException e) {
                        }
                    }
                    ThreadUtil.invokeLater(new Runnable() {

                        @Override
                        public void run() {
                            // --------------------
                            // START INITIALIZATION
                            // --------------------
                            if (_progressBar != null)
                                getContentPane().remove(_progressBar);
                            if (mCore == null) {
                                close();
                                return;
                            }

                            // ReportingUtils.setCore(mCore);
                            _afMgr = new AutofocusManager(MMMainFrame.this);
                            acqMgr = new AcquisitionManager();
                            PositionList posList = new PositionList();

                            _camera_label = MMCoreJ.getG_Keyword_CameraName();
                            if (_camera_label == null)
                                _camera_label = "";
                            try {
                                setPositionList(posList);
                            } catch (MMScriptException e1) {
                                e1.printStackTrace();
                            }
                            posListDlg_ = new PositionListDlg(mCore, MMMainFrame.this, _posList, null, dlg);
                            posListDlg_.setModalityType(ModalityType.APPLICATION_MODAL);

                            callback = new EventCallBackManager();
                            mCore.registerCallback(callback);

                            engine_ = new AcquisitionWrapperEngineIcy();
                            engine_.setParentGUI(MMMainFrame.this);
                            engine_.setCore(mCore, getAutofocusManager());
                            engine_.setPositionList(getPositionList());

                            setSystemMenuCallback(new MenuCallback() {

                                @Override
                                public JMenu getMenu() {
                                    JMenu toReturn = MMMainFrame.this.getDefaultSystemMenu();
                                    JMenuItem hconfig = new JMenuItem("Configuration Wizard");
                                    hconfig.setIcon(new IcyIcon("cog", MENU_ICON_SIZE));

                                    hconfig.addActionListener(new ActionListener() {

                                        @Override
                                        public void actionPerformed(ActionEvent e) {
                                            if (!_pluginListEmpty && !ConfirmDialog.confirm("Are you sure ?",
                                                    "<html>Loading the Configuration Wizard will unload all the devices and pause all running acquisitions.</br> Are you sure you want to continue ?</html>"))
                                                return;
                                            notifyConfigAboutToChange(null);
                                            try {
                                                mCore.unloadAllDevices();
                                            } catch (Exception e1) {
                                                e1.printStackTrace();
                                            }
                                            String previous_config = _sysConfigFile;
                                            ConfiguratorDlg2 configurator = new ConfiguratorDlg2(mCore,
                                                    _sysConfigFile);
                                            configurator.setVisible(true);
                                            String res = configurator.getFileName();
                                            if (_sysConfigFile == "" || _sysConfigFile == res || res == "") {
                                                _sysConfigFile = previous_config;
                                                loadConfig();
                                            }
                                            refreshGUI();
                                            notifyConfigChanged(null);
                                        }
                                    });

                                    JMenuItem menuPxSizeConfigItem = new JMenuItem("Pixel Size Config");
                                    menuPxSizeConfigItem.setIcon(new IcyIcon("link", MENU_ICON_SIZE));
                                    menuPxSizeConfigItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,
                                            InputEvent.SHIFT_DOWN_MASK | SHORTCUTKEY_MASK));
                                    menuPxSizeConfigItem.addActionListener(new ActionListener() {

                                        @Override
                                        public void actionPerformed(ActionEvent e) {
                                            CalibrationListDlg dlg = new CalibrationListDlg(mCore);
                                            dlg.setDefaultCloseOperation(2);
                                            dlg.setParentGUI(MMMainFrame.this);
                                            dlg.setVisible(true);
                                            dlg.addWindowListener(new WindowAdapter() {
                                                @Override
                                                public void windowClosed(WindowEvent e) {
                                                    super.windowClosed(e);
                                                    notifyConfigChanged(null);
                                                }
                                            });
                                            notifyConfigAboutToChange(null);
                                        }
                                    });

                                    JMenuItem loadConfigItem = new JMenuItem("Load Configuration");
                                    loadConfigItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
                                            InputEvent.SHIFT_DOWN_MASK | SHORTCUTKEY_MASK));
                                    loadConfigItem.setIcon(new IcyIcon("folder_open", MENU_ICON_SIZE));
                                    loadConfigItem.addActionListener(new ActionListener() {

                                        @Override
                                        public void actionPerformed(ActionEvent e) {
                                            loadConfig();
                                            initializeGUI();
                                            refreshGUI();
                                        }
                                    });
                                    JMenuItem saveConfigItem = new JMenuItem("Save Configuration");
                                    saveConfigItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
                                            InputEvent.SHIFT_DOWN_MASK | SHORTCUTKEY_MASK));
                                    saveConfigItem.setIcon(new IcyIcon("save", MENU_ICON_SIZE));
                                    saveConfigItem.addActionListener(new ActionListener() {

                                        @Override
                                        public void actionPerformed(ActionEvent e) {
                                            saveConfig();
                                        }
                                    });
                                    JMenuItem advancedConfigItem = new JMenuItem("Advanced Configuration");
                                    advancedConfigItem.setIcon(new IcyIcon("wrench_plus", MENU_ICON_SIZE));
                                    advancedConfigItem.addActionListener(new ActionListener() {

                                        /**
                                         */
                                        @Override
                                        public void actionPerformed(ActionEvent e) {
                                            new ToolTipFrame(
                                                    "<html><h3>About Advanced Config</h3><p>Advanced Configuration is a tool "
                                                            + "in which you fill some data <br/>about your configuration that some "
                                                            + "plugins may need to access to.<br/> Exemple: the real values of the magnification"
                                                            + "of your objectives.</p></html>",
                                                    "MM4IcyAdvancedConfig");
                                            if (advancedDlg == null)
                                                advancedDlg = new AdvancedConfigurationDialog();
                                            advancedDlg.setVisible(!advancedDlg.isVisible());
                                            advancedDlg.setLocationRelativeTo(mainFrame);
                                        }
                                    });
                                    JMenuItem loadPresetConfigItem = new JMenuItem(
                                            "Load Configuration Presets");
                                    loadPresetConfigItem.setIcon(new IcyIcon("doc_import", MENU_ICON_SIZE));
                                    loadPresetConfigItem.addActionListener(new ActionListener() {

                                        @Override
                                        public void actionPerformed(ActionEvent e) {
                                            notifyConfigAboutToChange(null);
                                            loadPresets();
                                            notifyConfigChanged(null);
                                        }
                                    });
                                    JMenuItem savePresetConfigItem = new JMenuItem(
                                            "Save Configuration Presets");
                                    savePresetConfigItem.setIcon(new IcyIcon("doc_export", MENU_ICON_SIZE));
                                    savePresetConfigItem.addActionListener(new ActionListener() {

                                        @Override
                                        public void actionPerformed(ActionEvent e) {
                                            savePresets();
                                        }
                                    });
                                    JMenuItem aboutItem = new JMenuItem("About");
                                    aboutItem.setIcon(new IcyIcon("info", MENU_ICON_SIZE));
                                    aboutItem.addActionListener(new ActionListener() {

                                        @Override
                                        public void actionPerformed(ActionEvent e) {
                                            final JDialog dialog = new JDialog(mainFrame, "About");
                                            JPanel panel_container = new JPanel();
                                            panel_container
                                                    .setBorder(BorderFactory.createEmptyBorder(10, 20, 10, 20));
                                            JPanel center = new JPanel(new BorderLayout());
                                            final JLabel value = new JLabel("<html><body>"
                                                    + "<h2>About</h2><p>Micro-Manager for Icy is being developed by Thomas Provoost."
                                                    + "<br/>Copyright 2011, Institut Pasteur</p><br/>"
                                                    + "<p>This plugin is based on Micro-Manager v1.4.6. which is developed under the following license:<br/>"
                                                    + "<i>This software is distributed free of charge in the hope that it will be<br/>"
                                                    + "useful, but WITHOUT ANY WARRANTY; without even the implied<br/>"
                                                    + "warranty of merchantability or fitness for a particular purpose. In no<br/>"
                                                    + "event shall the copyright owner or contributors be liable for any direct,<br/>"
                                                    + "indirect, incidental spacial, examplary, or consequential damages.<br/>"
                                                    + "Copyright University of California San Francisco, 2007, 2008, 2009,<br/>"
                                                    + "2010. All rights reserved.</i>" + "</p>"
                                                    + "</body></html>");
                                            JLabel link = new JLabel(
                                                    "<html><a href=\"\">For more information, please follow this link.</a></html>");
                                            link.addMouseListener(new MouseAdapter() {
                                                @Override
                                                public void mousePressed(MouseEvent mouseevent) {
                                                    NetworkUtil.openBrowser(
                                                            "http://valelab.ucsf.edu/~MM/MMwiki/index.php/Micro-Manager");
                                                }
                                            });
                                            value.setSize(new Dimension(50, 18));
                                            value.setAlignmentX(SwingConstants.HORIZONTAL);
                                            value.setBorder(BorderFactory.createEmptyBorder(0, 0, 20, 0));

                                            center.add(value, BorderLayout.CENTER);
                                            center.add(link, BorderLayout.SOUTH);

                                            JPanel panel_south = new JPanel();
                                            panel_south.setLayout(new BoxLayout(panel_south, BoxLayout.X_AXIS));
                                            JButton btn = new JButton("OK");
                                            btn.addActionListener(new ActionListener() {

                                                @Override
                                                public void actionPerformed(ActionEvent actionevent) {
                                                    dialog.dispose();
                                                }
                                            });
                                            panel_south.add(Box.createHorizontalGlue());
                                            panel_south.add(btn);
                                            panel_south.add(Box.createHorizontalGlue());

                                            dialog.setLayout(new BorderLayout());
                                            panel_container.setLayout(new BorderLayout());
                                            panel_container.add(center, BorderLayout.CENTER);
                                            panel_container.add(panel_south, BorderLayout.SOUTH);
                                            dialog.add(panel_container, BorderLayout.CENTER);
                                            dialog.setResizable(false);
                                            dialog.setVisible(true);
                                            dialog.pack();
                                            dialog.setLocation(
                                                    (int) mainFrame.getSize().getWidth() / 2
                                                            - dialog.getWidth() / 2,
                                                    (int) mainFrame.getSize().getHeight() / 2
                                                            - dialog.getHeight() / 2);
                                            dialog.setLocationRelativeTo(mainFrame);
                                        }
                                    });
                                    JMenuItem propertyBrowserItem = new JMenuItem("Property Browser");
                                    propertyBrowserItem.setAccelerator(
                                            KeyStroke.getKeyStroke(KeyEvent.VK_COMMA, SHORTCUTKEY_MASK));
                                    propertyBrowserItem.setIcon(new IcyIcon("db", MENU_ICON_SIZE));
                                    propertyBrowserItem.addActionListener(new ActionListener() {

                                        @Override
                                        public void actionPerformed(ActionEvent e) {
                                            editor.setVisible(!editor.isVisible());
                                        }
                                    });
                                    int idx = 0;
                                    toReturn.insert(hconfig, idx++);
                                    toReturn.insert(loadConfigItem, idx++);
                                    toReturn.insert(saveConfigItem, idx++);
                                    toReturn.insert(advancedConfigItem, idx++);
                                    toReturn.insertSeparator(idx++);
                                    toReturn.insert(loadPresetConfigItem, idx++);
                                    toReturn.insert(savePresetConfigItem, idx++);
                                    toReturn.insertSeparator(idx++);
                                    toReturn.insert(propertyBrowserItem, idx++);
                                    toReturn.insert(menuPxSizeConfigItem, idx++);
                                    toReturn.insertSeparator(idx++);
                                    toReturn.insert(aboutItem, idx++);
                                    return toReturn;
                                }
                            });

                            saveConfigButton_ = new JButton("Save Button");

                            // SETUP
                            _groupPad = new ConfigGroupPad();
                            _groupPad.setParentGUI(MMMainFrame.this);
                            _groupPad.setFont(new Font("", 0, 10));
                            _groupPad.setCore(mCore);
                            _groupPad.setParentGUI(MMMainFrame.this);
                            _groupButtonsPanel = new ConfigButtonsPanel();
                            _groupButtonsPanel.setCore(mCore);
                            _groupButtonsPanel.setGUI(MMMainFrame.this);
                            _groupButtonsPanel.setConfigPad(_groupPad);

                            // LEFT PART OF INTERFACE
                            _panelConfig = new JPanel();
                            _panelConfig.setLayout(new BoxLayout(_panelConfig, BoxLayout.Y_AXIS));
                            _panelConfig.add(_groupPad, BorderLayout.CENTER);
                            _panelConfig.add(_groupButtonsPanel, BorderLayout.SOUTH);
                            _panelConfig.setPreferredSize(new Dimension(300, 300));

                            // MIDDLE PART OF INTERFACE
                            _panel_cameraSettings = new JPanel();
                            _panel_cameraSettings.setLayout(new GridLayout(5, 2));
                            _panel_cameraSettings.setMinimumSize(new Dimension(100, 200));

                            _txtExposure = new JTextField();
                            try {
                                mCore.setExposure(90.0D);
                                _txtExposure.setText(String.valueOf(mCore.getExposure()));
                            } catch (Exception e2) {
                                _txtExposure.setText("90");
                            }
                            _txtExposure.setMaximumSize(new Dimension(Integer.MAX_VALUE, 20));
                            _txtExposure.addKeyListener(new KeyAdapter() {
                                @Override
                                public void keyPressed(KeyEvent keyevent) {
                                    if (keyevent.getKeyCode() == KeyEvent.VK_ENTER)
                                        setExposure();
                                }
                            });
                            _panel_cameraSettings.add(new JLabel("Exposure [ms]: "));
                            _panel_cameraSettings.add(_txtExposure);

                            _combo_binning = new JComboBox();
                            _combo_binning.setMaximumRowCount(4);
                            _combo_binning.setMaximumSize(new Dimension(Integer.MAX_VALUE, 25));
                            _combo_binning.addActionListener(new ActionListener() {
                                public void actionPerformed(ActionEvent e) {
                                    changeBinning();
                                }
                            });

                            _panel_cameraSettings.add(new JLabel("Binning: "));
                            _panel_cameraSettings.add(_combo_binning);

                            _combo_shutters = new JComboBox();
                            _combo_shutters.addActionListener(new ActionListener() {
                                public void actionPerformed(ActionEvent arg0) {
                                    try {
                                        if (_combo_shutters.getSelectedItem() != null) {
                                            mCore.setShutterDevice((String) _combo_shutters.getSelectedItem());
                                            _prefs.put(PREF_SHUTTER, (String) _combo_shutters
                                                    .getItemAt(_combo_shutters.getSelectedIndex()));
                                        }
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    }
                                }
                            });
                            _combo_shutters.setMaximumSize(new Dimension(Integer.MAX_VALUE, 25));
                            _panel_cameraSettings.add(new JLabel("Shutter : "));
                            _panel_cameraSettings.add(_combo_shutters);

                            ActionListener action_listener = new ActionListener() {
                                @Override
                                public void actionPerformed(ActionEvent e) {
                                    updateHistogram();
                                }
                            };

                            _cbAbsoluteHisto = new JCheckBox();
                            _cbAbsoluteHisto.addActionListener(action_listener);
                            _cbAbsoluteHisto.addActionListener(new ActionListener() {
                                @Override
                                public void actionPerformed(ActionEvent actionevent) {
                                    _comboBitDepth.setEnabled(_cbAbsoluteHisto.isSelected());
                                    _prefs.putBoolean(PREF_ABS_HIST, _cbAbsoluteHisto.isSelected());
                                }
                            });
                            _panel_cameraSettings.add(new JLabel("Display absolute histogram ?"));
                            _panel_cameraSettings.add(_cbAbsoluteHisto);

                            _comboBitDepth = new JComboBox(new String[] { "8-bit", "9-bit", "10-bit", "11-bit",
                                    "12-bit", "13-bit", "14-bit", "15-bit", "16-bit" });
                            _comboBitDepth.addActionListener(action_listener);
                            _comboBitDepth.addActionListener(new ActionListener() {
                                @Override
                                public void actionPerformed(ActionEvent actionevent) {
                                    _prefs.putInt(PREF_BITDEPTH, _comboBitDepth.getSelectedIndex());
                                }
                            });
                            _comboBitDepth.setMaximumSize(new Dimension(Integer.MAX_VALUE, 20));
                            _comboBitDepth.setEnabled(false);
                            _panel_cameraSettings.add(new JLabel("Select your bit depth for abs. hitogram: "));
                            _panel_cameraSettings.add(_comboBitDepth);

                            // Acquisition
                            _panelAcquisitions = new JPanel();
                            _panelAcquisitions.setLayout(new BoxLayout(_panelAcquisitions, BoxLayout.Y_AXIS));

                            // Color settings
                            _panelColorChooser = new JPanel();
                            _panelColorChooser.setLayout(new BoxLayout(_panelColorChooser, BoxLayout.Y_AXIS));
                            painterPreferences = MicroscopePainterPreferences.getInstance();
                            painterPreferences.setPreferences(_prefs.node("paintersPreferences"));
                            painterPreferences.loadColors();

                            HashMap<String, Color> allColors = painterPreferences.getColors();
                            String[] allKeys = (String[]) allColors.keySet().toArray(new String[0]);
                            String[] columnNames = { "Painter", "Color", "Transparency" };
                            Object[][] data = new Object[allKeys.length][3];

                            for (int i = 0; i < allKeys.length; ++i) {
                                final int actualRow = i;
                                String actualKey = allKeys[i].toString();
                                data[i][0] = actualKey;
                                data[i][1] = allColors.get(actualKey);
                                final JSlider slider = new JSlider(0, 255, allColors.get(actualKey).getAlpha());
                                slider.addChangeListener(new ChangeListener() {

                                    @Override
                                    public void stateChanged(ChangeEvent changeevent) {
                                        painterTable.setValueAt(slider, actualRow, 2);
                                    }
                                });
                                data[i][2] = slider;
                            }
                            final AbstractTableModel tableModel = new JTableEvolvedModel(columnNames, data);
                            painterTable = new JTable(tableModel);
                            painterTable.getModel().addTableModelListener(new TableModelListener() {

                                @Override
                                public void tableChanged(TableModelEvent tablemodelevent) {
                                    if (tablemodelevent.getType() == TableModelEvent.UPDATE) {
                                        int row = tablemodelevent.getFirstRow();
                                        int col = tablemodelevent.getColumn();
                                        String columnName = tableModel.getColumnName(col);
                                        String painterName = (String) tableModel.getValueAt(row, 0);
                                        if (columnName.contains("Color")) {
                                            // New color value
                                            int alpha = painterPreferences.getColor(painterName).getAlpha();
                                            Color coloNew = (Color) tableModel.getValueAt(row, 1);
                                            painterPreferences.setColor(painterName, new Color(coloNew.getRed(),
                                                    coloNew.getGreen(), coloNew.getBlue(), alpha));
                                        } else if (columnName.contains("Transparency")) {
                                            // New alpha value
                                            Color c = painterPreferences.getColor(painterName);
                                            int alphaValue = ((JSlider) tableModel.getValueAt(row, 2))
                                                    .getValue();
                                            painterPreferences.setColor(painterName, new Color(c.getRed(),
                                                    c.getGreen(), c.getBlue(), alphaValue));
                                        }
                                        /*
                                         * for (int i = 0; i <
                                         * tableModel.getRowCount(); ++i) { try {
                                         * String painterName = (String)
                                         * tableModel.getValueAt(i, 0); Color c =
                                         * (Color) tableModel.getValueAt(i, 1); int
                                         * alphaValue; if (ASpinnerChanged &&
                                         * tablemodelevent.getFirstRow() == i) {
                                         * alphaValue = ((JSlider)
                                         * tableModel.getValueAt(i, 2)).getValue();
                                         * } else { alphaValue =
                                         * painterPreferences.getColor
                                         * (painterPreferences
                                         * .getPainterName(i)).getAlpha(); }
                                         * painterPreferences.setColor(painterName,
                                         * new Color(c.getRed(), c.getGreen(),
                                         * c.getBlue(), alphaValue)); } catch
                                         * (Exception e) { System.out.println(
                                         * "error with painter table update"); } }
                                         */
                                    }
                                }
                            });
                            painterTable.setPreferredScrollableViewportSize(new Dimension(500, 70));
                            painterTable.setFillsViewportHeight(true);

                            // Create the scroll pane and add the table to it.
                            JScrollPane scrollPane = new JScrollPane(painterTable);

                            // Set up renderer and editor for the Favorite Color
                            // column.
                            painterTable.setDefaultRenderer(Color.class, new ColorRenderer(true));
                            painterTable.setDefaultEditor(Color.class, new ColorEditor());

                            painterTable.setDefaultRenderer(JSlider.class, new SliderRenderer(0, 255));
                            painterTable.setDefaultEditor(JSlider.class, new SliderEditor());

                            _panelColorChooser.add(scrollPane);
                            _panelColorChooser.add(Box.createVerticalGlue());

                            _mainPanel = new JPanel();
                            _mainPanel.setLayout(new BorderLayout());

                            // EDITOR
                            // will refresh the data and verify if any change
                            // occurs.
                            // editor = new PropertyEditor(MMMainFrame.this);
                            // editor.setCore(mCore);
                            // editor.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
                            // editor.addToMainDesktopPane();
                            // editor.refresh();
                            // editor.start();

                            editor = new PropertyEditor();
                            editor.setGui(MMMainFrame.this);
                            editor.setCore(mCore);
                            editor.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
                            // editor.addToMainDesktopPane();
                            // editor.refresh();
                            // editor.start();

                            add(_mainPanel);
                            initializeGUI();
                            loadPreferences();
                            refreshGUI();
                            setResizable(true);
                            addToMainDesktopPane();
                            instanced = true;
                            instancing = false;
                            _singleton = MMMainFrame.this;
                            setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
                            addFrameListener(new IcyFrameAdapter() {
                                @Override
                                public void icyFrameClosing(IcyFrameEvent e) {
                                    customClose();
                                }
                            });
                            acceptListener = new AcceptListener() {

                                @Override
                                public boolean accept(Object source) {
                                    close();
                                    return _pluginListEmpty;
                                }
                            };

                            adapter = new MainAdapter() {

                                @Override
                                public void sequenceOpened(MainEvent event) {
                                    updateHistogram();
                                }

                            };
                            Icy.getMainInterface().addCanExitListener(acceptListener);
                            Icy.getMainInterface().addListener(adapter);
                        }
                    });
                }
            });
        }
    });
}

From source file:plugins.tprovoost.Microscopy.MicroManagerForIcy.MMMainFrame.java

/**
 * Create an error dialog concerning DLL issues with Micro-Manager.
 * /* ww  w .  ja  va 2  s. c  o  m*/
 * @return Returns the dialog.
 */
private JDialog createDLLErrorDialog() {
    MainFrame mainFrame = Icy.getMainInterface().getMainFrame();
    // Dialog frame to be returned
    final JDialog dialog = new JDialog(mainFrame, "Loading Error", true);

    // main panel of the dialog
    JPanel panel_main = new JPanel();
    panel_main.setLayout(new BorderLayout());

    JLabel lbl_html = new JLabel("<html>" + "<h2>Unable to load library</h2>" + "<br/><b>What happened ?</b>"
            + "<p>The library is a file used by Manager to interact with the devices. Each device needs a specific file in order <br/>"
            + "to work properly with the system. If only one file is missing, this error occurs.</p>"
            + "<b>To avoid getting this problem again, please acknowledge the following steps: </b>"
            + "<ol><li>Do you have Micro-Manager 1.4 installed ? If not, please install it via the button below.</li>"
            + "<li>Check the application directory of Icy. You should find a file named:  "
            + "<ul><li>on Windows: MMCoreJ_wrap</li><li>on Mac: libMMCoreJ_wrap</li></ul>"
            + "<li>Plus : you should have a file for each of your devices starting with the name:"
            + "<ul><li>on Windows: mmgr_dal_</li><li>on Mac: libmmgr_dal_</li></ul>"
            + "<li>If you don't have these files, please copy (not move) them from the Manager application directory<br/>"
            + "to your Icy application directory.</li></ol></html>");
    panel_main.add(lbl_html, BorderLayout.CENTER);
    panel_main.setBorder(BorderFactory.createEmptyBorder(10, 20, 10, 20));

    JPanel panel_buttons = new JPanel();
    panel_buttons.setLayout(new BoxLayout(panel_buttons, BoxLayout.X_AXIS));
    panel_buttons.add(Box.createHorizontalGlue());

    JButton btn_link = new JButton();
    btn_link.setText("Download Micro-Manager 1.4.14");
    btn_link.setBackground(Color.WHITE);
    btn_link.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            NetworkUtil
                    .openBrowser("http://valelab.ucsf.edu/~MM/MMwiki/index.php/Micro-Manager_Version_Archive");
        }
    });
    panel_buttons.add(btn_link);

    JButton btn_ok = new JButton("OK");
    btn_ok.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            dialog.setVisible(false);
        }
    });
    panel_buttons.add(btn_ok);
    panel_main.add(panel_buttons, BorderLayout.SOUTH);

    dialog.add(panel_main);
    dialog.pack();

    dialog.setLocation((int) mainFrame.getSize().getWidth() / 2 - dialog.getWidth() / 2,
            (int) mainFrame.getSize().getHeight() / 2 - dialog.getHeight() / 2);

    return dialog;
}