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

📄 mainwindow.java

📁 一个用于安排项目时间表的Java程序
💻 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 + -