/** * Creates application's "File" menu. * * @return newly created application's menu */ public JMenu createApplicationFileMenu() { JMenu fileMenu = new JMenu("File"); JMenu newSubMenu = new JMenu("New"); for (Action newDiagramAction : NewDiagramAction.createAll(this)) { newSubMenu.add(newDiagramAction); } fileMenu.add(newSubMenu); openItem = new JMenuItem(new LoadDiagramAction(this)); Action action = new AbstractAction("Save") { public void actionPerformed(ActionEvent e) { saveCurrent(false); } }; saveItem = new JMenuItem(action); action = new AbstractAction("Save as...") { public void actionPerformed(ActionEvent e) { saveCurrent(true); } }; saveAsItem = new JMenuItem(action); action = new AbstractAction("Only image") { public void actionPerformed(ActionEvent e) { try { File file = chooseSave(JPEG_FILES, PNG_FILES); if (file == null) { return; } getCurrentDiagram().getImageMaker().imageExport(file); } catch (Exception ex) { ex.printStackTrace(); } } }; jpegExportItem = new JMenuItem(action); action = new AbstractAction("Image + HTML") { public void actionPerformed(ActionEvent e) { try { File imageFile = chooseSave(JPEG_FILES, PNG_FILES); if (imageFile == null) { return; } File htmlFile = chooseSave(HTML_FILES); if (htmlFile == null) { return; } getCurrentDiagram().getImageMaker().imageHtmlExport(imageFile, htmlFile); } catch (Exception ex) { ex.printStackTrace(); } } }; jpegHtmlExportItem = new JMenuItem(action); action = new AbstractAction("Publish") { public void actionPerformed(ActionEvent e) { publishCurrent(); } }; publishItem = new JMenuItem(action); fileMenu.addSeparator(); if (container.localPersistence()) { fileMenu.add(openItem); fileMenu.add(saveItem); fileMenu.add(saveAsItem); JMenu exportMenu = new JMenu("Export to JPEG/PNG"); exportMenu.add(jpegExportItem); exportMenu.add(jpegHtmlExportItem); fileMenu.add(exportMenu); fileMenu.addSeparator(); } if (container.globalPersistenceWrite()) { fileMenu.add(publishItem); fileMenu.addSeparator(); } return fileMenu; }