Example usage for javax.swing JInternalFrame dispose

List of usage examples for javax.swing JInternalFrame dispose

Introduction

In this page you can find the example usage for javax.swing JInternalFrame dispose.

Prototype

public void dispose() 

Source Link

Document

Makes this internal frame invisible, unselected, and closed.

Usage

From source file:mondrian.gui.Workbench.java

private void openSchemaFrame(File file, boolean newFile) {
    try {/*  w w  w.j a va  2 s .  c  o m*/
        setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

        if (!newFile) {
            // check if file not already open
            if (checkFileOpen(file)) {
                return;
            }
            // check if schema file exists
            if (!file.exists()) {
                JOptionPane.showMessageDialog(this,
                        getResourceConverter().getFormattedString("workbench.open.schema.not.found",
                                "{0} File not found.", file.getAbsolutePath()),
                        getResourceConverter().getString("workbench.open.schema.not.found.title", "Alert"),
                        JOptionPane.WARNING_MESSAGE);
                return;
            }
            // check if file is writable
            if (!file.canWrite()) {
                JOptionPane.showMessageDialog(this,
                        getResourceConverter().getFormattedString("workbench.open.schema.not.writeable",
                                "{0} is not writeable.", file.getAbsolutePath()),
                        getResourceConverter().getString("workbench.open.schema.not.writeable.title", "Alert"),
                        JOptionPane.WARNING_MESSAGE);
                return;
            }
            checkSchemaFile(file);
        }

        final JInternalFrame schemaFrame = new JInternalFrame();
        schemaFrame.setTitle(getResourceConverter().getFormattedString("workbench.open.schema.title",
                "Schema - {0}", file.getName()));

        getNewJdbcMetadata();

        schemaFrame.getContentPane().add(new SchemaExplorer(this, file, jdbcMetaData, newFile, schemaFrame));

        String errorOpening = ((SchemaExplorer) schemaFrame.getContentPane().getComponent(0)).getErrMsg();
        if (errorOpening != null) {
            JOptionPane.showMessageDialog(this,
                    getResourceConverter().getFormattedString("workbench.open.schema.error",
                            "Error opening schema - {0}.", errorOpening),
                    getResourceConverter().getString("workbench.open.schema.error.title", "Error"),
                    JOptionPane.ERROR_MESSAGE);
            schemaFrame.setClosed(true);
            return;
        }

        schemaFrame.setBounds(0, 0, 1000, 650);
        schemaFrame.setClosable(true);
        schemaFrame.setIconifiable(true);
        schemaFrame.setMaximizable(true);
        schemaFrame.setResizable(true);
        schemaFrame.setVisible(true);

        desktopPane.add(schemaFrame, javax.swing.JLayeredPane.DEFAULT_LAYER);
        schemaFrame.show();
        schemaFrame.setMaximum(true);

        displayWarningOnFailedConnection();

        final javax.swing.JMenuItem schemaMenuItem = new javax.swing.JMenuItem();
        schemaMenuItem.setText(windowMenuMapIndex++ + " " + file.getName());
        schemaMenuItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                try {
                    if (schemaFrame.isIcon()) {
                        schemaFrame.setIcon(false);
                    } else {
                        schemaFrame.setSelected(true);
                    }
                } catch (Exception ex) {
                    LOGGER.error("schemaMenuItem", ex);
                }
            }
        });

        windowMenu.add(schemaMenuItem, 0);
        windowMenu.setEnabled(true);

        windowMenu.add(jSeparator3, -1);
        windowMenu.add(cascadeMenuItem, -1);
        windowMenu.add(tileMenuItem, -1);
        windowMenu.add(minimizeMenuItem, -1);
        windowMenu.add(maximizeMenuItem, -1);
        windowMenu.add(closeAllMenuItem, -1);

        // add the file details in menu map
        schemaWindowMap.put(schemaFrame, schemaMenuItem);
        updateMDXCatalogList();

        schemaFrame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

        schemaFrame.addInternalFrameListener(new InternalFrameAdapter() {
            public void internalFrameClosing(InternalFrameEvent e) {
                if (schemaFrame.getContentPane().getComponent(0) instanceof SchemaExplorer) {
                    SchemaExplorer se = (SchemaExplorer) schemaFrame.getContentPane().getComponent(0);
                    int response = confirmFrameClose(schemaFrame, se);
                    if (response == 3) { // not dirty
                        if (se.isNewFile()) {
                            se.getSchemaFile().delete();
                        }
                        // default case for no save and not dirty
                        schemaWindowMap.remove(schemaFrame);
                        updateMDXCatalogList();
                        schemaFrame.dispose();
                        windowMenu.remove(schemaMenuItem);
                    }
                }
            }
        });

        schemaFrame.setFocusable(true);
        schemaFrame.addFocusListener(new FocusAdapter() {
            public void focusGained(FocusEvent e) {
                if (schemaFrame.getContentPane().getComponent(0) instanceof SchemaExplorer) {
                    SchemaExplorer se = (SchemaExplorer) schemaFrame.getContentPane().getComponent(0);
                    // update view menu based on schemaframe who gained
                    // focus
                    viewXmlMenuItem.setSelected(se.isEditModeXML());
                }
            }

            public void focusLost(FocusEvent e) {
                if (schemaFrame.getContentPane().getComponent(0) instanceof SchemaExplorer) {
                    SchemaExplorer se = (SchemaExplorer) schemaFrame.getContentPane().getComponent(0);
                    // update view menu based on
                    viewXmlMenuItem.setSelected(se.isEditModeXML());
                }
            }
        });
        viewXmlMenuItem.setSelected(false);
    } catch (Exception ex) {
        LOGGER.error("openSchemaFrame", ex);
    } finally {
        setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    }
}

From source file:org.docx4all.ui.main.WordMLEditor.java

public void closeAllInternalFrames() {

    List<JInternalFrame> list = getAllInternalFrames();

    //Start from current editor's frame
    JInternalFrame currentFrame = getCurrentInternalFrame();
    list.remove(currentFrame);/*from   w  w  w . ja  v a2 s  . c  o m*/
    list.add(0, currentFrame);

    for (final JInternalFrame iframe : list) {
        final Runnable disposeRunnable = new Runnable() {
            public void run() {
                iframe.dispose();
            }
        };

        if (getToolbarStates().isDocumentDirty(iframe)) {
            try {
                iframe.setSelected(true);
                iframe.setIcon(false);
            } catch (PropertyVetoException exc) {
                ;//ignore
            }

            int answer = showConfirmClosingInternalFrame(iframe, "internalframe.close");
            if (answer == JOptionPane.CANCEL_OPTION) {
                break;
            }
        }

        SwingUtilities.invokeLater(disposeRunnable);
    }
}

From source file:org.docx4all.ui.main.WordMLEditor.java

public void closeInternalFrame(JInternalFrame iframe) {
    boolean canClose = true;

    if (getToolbarStates().isDocumentDirty(iframe)) {
        try {//  w  ww  . j  a v  a2  s.  c om
            iframe.setSelected(true);
            iframe.setIcon(false);
        } catch (PropertyVetoException exc) {
            ;//ignore
        }

        int answer = showConfirmClosingInternalFrame(iframe, "internalframe.close");
        canClose = (answer != JOptionPane.CANCEL_OPTION);
    }

    if (canClose) {
        WordMLTextPane editor = SwingUtil.getWordMLTextPane(iframe);
        if (editor != null) {
            editor.removeCaretListener(getToolbarStates());
            editor.removeFocusListener(getToolbarStates());
            editor.setTransferHandler(null);

            editor.getDocument().removeDocumentListener(getToolbarStates());

            WordMLEditorKit editorKit = (WordMLEditorKit) editor.getEditorKit();
            editorKit.removeInputAttributeListener(getToolbarStates());
            editor.getWordMLEditorKit().deinstall(editor);
        }
        iframe.dispose();
    }
}