📄 mainwindow.java
字号:
/* * $Id: MainWindow.java,v 1.2 2001/08/11 16:45:16 mastermitch Exp $ * * 2001 (C) by Christian Garbs <mitch@uni.de> * * Licensed under GNU GPL (see COPYING for details) * */package de.cgarbs.apps.jprojecttimer;import java.awt.BorderLayout;import java.awt.Component;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.print.PageFormat;import java.awt.print.PrinterJob;import java.io.FileOutputStream;import java.io.PrintStream;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JTabbedPane;class MainWindow extends JFrame implements ActionListener{ Project project; JMenuBar myMenuBar; JMenu myFileMenu, myHelpMenu; JMenuItem menuQuit, menuLoad, menuSave, menuPrint, menuSaveAs, menuNew, menuAbout; TaskListPane tlp; ProjectPane pp; GanttDiagramPane gdp; public MainWindow(Project project) { super(Resource.get("JProjectTimer")); this.project = project; createWindows(); Component contents = createComponents(); getContentPane().add(contents, BorderLayout.CENTER); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); pack(); setVisible(true); } private void createWindows() { myMenuBar = new JMenuBar(); myFileMenu = new JMenu(Resource.get("fileMenu")); myHelpMenu = new JMenu(Resource.get("helpMenu")); menuNew = new JMenuItem(Resource.get("menuNew")); menuNew.addActionListener(this); menuLoad = new JMenuItem(Resource.get("menuLoad")); menuLoad.addActionListener(this); menuSave = new JMenuItem(Resource.get("menuSave")); menuSave.addActionListener(this); menuSaveAs = new JMenuItem(Resource.get("menuSaveAs")); menuSaveAs.addActionListener(this); menuPrint = new JMenuItem(Resource.get("menuPrint")); menuPrint.addActionListener(this); menuQuit = new JMenuItem(Resource.get("menuQuit")); menuQuit.addActionListener(this); menuAbout = new JMenuItem(Resource.get("menuAbout")); menuAbout.addActionListener(this); myFileMenu.add(menuNew); myFileMenu.addSeparator(); myFileMenu.add(menuLoad); myFileMenu.add(menuSave); myFileMenu.add(menuSaveAs); myFileMenu.addSeparator(); myFileMenu.add(menuPrint); myFileMenu.addSeparator(); myFileMenu.add(menuQuit); myHelpMenu.add(menuAbout); myMenuBar.add(myFileMenu); myMenuBar.add(myHelpMenu); setJMenuBar(myMenuBar); } public Component createComponents() { JTabbedPane pane = new JTabbedPane(); pp = new ProjectPane(project); tlp = new TaskListPane(this, project); gdp = new GanttDiagramPane(project); pane.addTab(Resource.get("project"), pp); pane.addTab(Resource.get("taskList"), tlp); pane.addTab(Resource.get("ganttDiagram"), gdp); return pane; } public void actionPerformed(ActionEvent e) { if (e.getSource() == menuQuit) { performQuit(); } else if (e.getSource() == menuSaveAs) { performSaveAs(); } else if (e.getSource() == menuSave) { performSave(); } else if (e.getSource() == menuLoad) { performLoad(); } else if (e.getSource() == menuNew) { performNew(); } else if (e.getSource() == menuPrint) { performPrint(); } else if (e.getSource() == menuAbout) { performAbout(); } } public void performQuit() { if (project.needsToBeSaved()) { if (JOptionPane.showConfirmDialog(this, Resource.get("reallyQuit"), Resource.get("confirmTitle"), JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { System.exit(0); } } else { System.exit(0); } } public void performNew() { if (project.needsToBeSaved()) { if (JOptionPane.showConfirmDialog(this, Resource.get("reallyNew"), Resource.get("confirmTitle"), JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION) { return; } } // Refresh all Panes project = new Project(); refresh(); } public void performLoad() { if (project.needsToBeSaved()) { if (JOptionPane.showConfirmDialog(this, Resource.get("reallyLoad"), Resource.get("confirmTitle"), JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION) { return; } } JFileChooser chooser = new JFileChooser(); chooser.setDialogType(JFileChooser.OPEN_DIALOG); chooser.setDialogTitle(Resource.get("loadDialogTitle")); if (project.getFile() != null) { chooser.setSelectedFile(project.getFile()); } int returnVal = chooser.showOpenDialog(this); if(returnVal == JFileChooser.APPROVE_OPTION) { project.readFromStream(chooser.getSelectedFile()); setTitle(Resource.get("JProjectTimer") + " - " + project.getFile().getName()); // Refresh all Panes refresh(); } } private void refresh() { pp.refresh(); tlp.refresh(); gdp.refresh(); } public void performSave() { if (project.getFile() == null) { performSaveAs(); } else { try { project.writeToStream(new PrintStream(new FileOutputStream(project.getFile()))); project.hasBeenSaved(); } catch (Exception e) {} } } public void performSaveAs() { JFileChooser chooser = new JFileChooser(); chooser.setDialogType(JFileChooser.SAVE_DIALOG); chooser.setDialogTitle(Resource.get("saveAsDialogTitle")); if (project.getFile() != null) { chooser.setSelectedFile(project.getFile()); } int returnVal = chooser.showSaveDialog(this); if(returnVal == JFileChooser.APPROVE_OPTION) { project.setFile(chooser.getSelectedFile()); setTitle(Resource.get("JProjectTimer") + " - " + project.getFile().getName()); performSave(); } } public void performPrint() { PrinterJob printJob = PrinterJob.getPrinterJob(); //PageFormat pf = printJob.pageDialog(printJob.defaultPage()); GanttDiagram output = new GanttDiagram(project); output.refresh(); printJob.setPrintable(output); if (printJob.printDialog()) { try { printJob.print(); System.out.println("printed!"); } catch (Exception ex) { ex.printStackTrace(); } } } public void performAbout() { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -