⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 joonedit.java

📁 拥有图形界面的
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
    public static int getNumericVersion() {        return MAJOR_RELEASE * 1000000 +        MINOR_RELEASE * 1000 +        BUILD;    }        /**     * Method to get the recommended Engine version.     */    public static String getRecommendedEngineVersion() {        return RECO_ENG_MAJOR_RELEASE +        "." +        RECO_ENG_MINOR_RELEASE +        "." +        RECO_ENG_BUILD;    }        /**     * Method to get the numeric recommended Engine version.     */    public static int getNumericRecommendedEngineVersion() {        return RECO_ENG_MAJOR_RELEASE * 1000000 +        RECO_ENG_MINOR_RELEASE * 1000 +        RECO_ENG_BUILD;    }        /**     * Creates the attributes menu and its submenus. Clients override this     * method to add additional menu items.     */    protected JMenu createAttributesMenu() {        JMenu menu = new JMenu("Attributes");        menu.setMnemonic(KeyEvent.VK_T);                JMenuItem mi = createColorMenu("Fill Color", "FillColor");        mi.setMnemonic(KeyEvent.VK_F);        menu.add(mi);                mi = createColorMenu("Pen Color", "FrameColor");        mi.setMnemonic(KeyEvent.VK_P);        menu.add(mi);                mi = createArrowMenu();        mi.setMnemonic(KeyEvent.VK_A);        menu.add(mi);                menu.addSeparator();                mi = createFontMenu();        mi.setMnemonic(KeyEvent.VK_O);        menu.add(mi);                mi = createFontSizeMenu();        mi.setMnemonic(KeyEvent.VK_S);        menu.add(mi);                mi = createFontStyleMenu();        mi.setMnemonic(KeyEvent.VK_N);        menu.add(mi);                mi = createColorMenu("Text Color", "TextColor");        mi.setMnemonic(KeyEvent.VK_T);        menu.add(mi);                return menu;    }        /**     * Create a menu which allows the user to select a different look and feel at runtime.     */    public JMenu createWindowMenu() {        JMenu menu = new JMenu("Window");        menu.setMnemonic(KeyEvent.VK_W);        menu.add(createLookAndFeel());        return menu;    }        public JMenu createLookAndFeel() {                UIManager.LookAndFeelInfo[] lafs = UIManager.getInstalledLookAndFeels();        JMenu menu = new JMenu("Look and Feel");        menu.setMnemonic(KeyEvent.VK_L);        JMenuItem mi = null;                for (int i = 0; i < lafs.length; i++) {            mi = new JMenuItem(lafs[i].getName());            final String lnfClassName = lafs[i].getClassName();            mi.addActionListener(            new ActionListener() {                public void actionPerformed(ActionEvent event) {                    newLookAndFeel(lnfClassName);                }            }            );            menu.add(mi);        }        return menu;    }        /**     * Switch to a new Look&Feel     */    private void newLookAndFeel(String landf) {        try {            UIManager.setLookAndFeel(landf);            SwingUtilities.updateComponentTreeUI(this);        } catch (Exception e) {            log.warn( "Exception thrown while adding a lookAndFeel. Message is : " + e.getMessage(),            e);        }    }        /**     * Creates the edit menu. Clients override this     * method to add additional menu items.     */    protected JMenu createEditMenu() {        JooneCommandMenu menu = new JooneCommandMenu("Edit");        menu.setMnemonic(KeyEvent.VK_E);        menu.add(new JooneCutCommand("Cut", view()), new MenuShortcut('t'), KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));        menu.add(new JooneCopyCommand("Copy", view()), new MenuShortcut('c'), KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));        menu.add(new PasteCommand("Paste", view()), new MenuShortcut('p'), KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));        menu.addSeparator();        menu.add(new JooneDuplicateCommand("Duplicate", view()), new MenuShortcut('d'));        menu.add(new DeleteCommand("Delete", view()), new MenuShortcut('e'), KeyStroke.getKeyStroke("DELETE"));        menu.addSeparator();        menu.add(new GroupCommand("Group", view()), new MenuShortcut('g'));        menu.add(new UngroupCommand("Ungroup", view()), new MenuShortcut('u'));        menu.addSeparator();        menu.add(new SendToBackCommand("Send to Back", view()), new MenuShortcut('s'));        menu.add(new BringToFrontCommand("Bring to Front", view()), new MenuShortcut('b'));        return menu;    }        /**     * Shows a file dialog and saves drawing.     */    public void promptSaveAs() {        toolDone();        JFileChooser saveDialog;        if (getDrawingTitle() == null || getDrawingTitle().equals("")) {            saveDialog = createSaveFileChooser();        } else {            saveDialog = new JFileChooser(getDrawingTitle());            saveDialog.setDialogTitle("Save File...");        }                getStorageFormatManager().registerFileFilters(saveDialog);                if (saveDialog.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {            StorageFormat foundFormat = getStorageFormatManager().findStorageFormat(saveDialog.getFileFilter());            if (foundFormat != null) {                saveDrawing(foundFormat, saveDialog.getSelectedFile().getAbsolutePath());                // Remember format for Save and enable the save menu item.                latestStorageFormat = foundFormat;            } else {                showStatus("Not a valid file format: " + saveDialog.getFileFilter().getDescription());            }        }    }    /**     * Shows a file dialog and opens a drawing.     */    public void promptOpen() {        toolDone();        if (getDrawingTitle() == null || getDrawingTitle().equals("")) {            createOpenFileChooser();        } else {            createOpenFileChooser(getDrawingTitle());            m_openDialog.setDialogTitle("Open File...");        }                getStorageFormatManager().registerFileFilters(m_openDialog);        if (m_openDialog.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {            StorageFormat foundFormat = getStorageFormatManager().findStorageFormat(m_openDialog.getFileFilter());            if (foundFormat != null) {                promptNew();                loadDrawing(foundFormat, m_openDialog.getSelectedFile().getAbsolutePath());                // Remember format for Save.                latestStorageFormat = foundFormat;            }            else {                showStatus("Not a valid file format: " + m_openDialog.getFileFilter().getDescription());            }        }    }        protected void initDrawing() {        super.initDrawing();        latestStorageFormat = null;    }        /**     * Exits the application. You should never override this method     */    public void exit() {        int n = askForSave("Save changes to Neural Net?");        if ((n == JOptionPane.NO_OPTION) || !((JooneStandardDrawingView)view()).isModified()) {            writeIniFile();            destroy();            setVisible(false);            dispose();            log.info("Exit invoked successfully. Frame disposed. Bye");            System.exit(0);        }    }        protected void destroy() {        if (m_openDialog != null)            m_openDialog.saveDirectoryEntries();    }    /**     * Save a Drawing in a file     */    protected void saveDrawing(StorageFormat storeFormat, String file) {        try {            setDrawingTitle(storeFormat.store(file, drawing()));            ((JooneStandardDrawingView)view()).setModified(false);        }        catch (IOException e) {            showStatus(e.toString());        }    }        protected int askForSave(String message) {        int n = JOptionPane.CANCEL_OPTION;        if (((JooneStandardDrawingView)view()).isModified()) {            n = JOptionPane.showConfirmDialog(this,            message, "JoonEdit", JOptionPane.YES_NO_CANCEL_OPTION);            if (n == JOptionPane.YES_OPTION) {                if (latestStorageFormat != null &&                getDrawingTitle() != null &&                !getDrawingTitle().equals("")) {                    saveDrawing(latestStorageFormat, getDrawingTitle());                }                else {                    promptSaveAs();                }            }        }        return n;    }        private void readIniFile() {        try {            // Create .joone dir if not already in existance.            File jooneHome = new File(System.getProperty("user.home") + File.separator + ".joone");            if (!jooneHome.exists()) {                jooneHome.mkdir();            }                        // Get the ini file.            iniFile = new IniFile(jooneHome + File.separator + INI_FILE_NAME);                        // Get JooneEdit bounds.            int state = Integer.parseInt(iniFile.getParameter("gui", "state", "0"));            int x = Integer.parseInt(iniFile.getParameter("gui", "x", "0"));            int y = Integer.parseInt(iniFile.getParameter("gui", "y", "0"));                        // See defaultSize() for width and height.            width = Integer.parseInt(iniFile.getParameter("gui", "width", "800"));            height = Integer.parseInt(iniFile.getParameter("gui", "height", "600"));            setLocation(x, y);                        // Set state, i.e. maximized, normal, iconified.            if (state != -99) {                setState(state);            }                        // Set look and feel.            String lafName = iniFile.getParameter("gui", "laf", null);            if (lafName != null) {                UIManager.LookAndFeelInfo[] lafs = UIManager.getInstalledLookAndFeels();                for (int i = 0; i < lafs.length; i++) {                    if (lafName.toLowerCase().equals(lafs[i].getClassName().toLowerCase())) {                        UIManager.setLookAndFeel(lafs[i].getClassName());                        SwingUtilities.updateComponentTreeUI(this);                    }                }            }        } catch (Exception e) {            log.warn( "Exception thrown reading writing config file. Message is : " + e.getMessage(),            e);        }    }        private void writeIniFile() {        try {            // Only write frame boundary if it is in the normal state.            if (getState() == Frame.NORMAL) {                iniFile.setParameter("gui", "x", String.valueOf(getX()));                iniFile.setParameter("gui", "y", String.valueOf(getY()));                iniFile.setParameter("gui", "width", String.valueOf(getWidth()));                iniFile.setParameter("gui", "height", String.valueOf(getHeight()));            }            iniFile.setParameter("gui", "state", String.valueOf(getState()));            iniFile.setParameter("gui", "laf", UIManager.getLookAndFeel().getClass().getName());        } catch (Exception e) {            log.warn( "Exception thrown while writing config file. Message is : " + e.getMessage(),            e);        }    }        private void pageSetup() {        // Get a PrinterJob        PrinterJob job = PrinterJob.getPrinterJob();                // Ask user for page format (e.g., portrait/landscape)        job.pageDialog(job.defaultPage());    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -