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

📄 ganttactionlistener.java

📁 Owing to the applet Gantt chart source yard, already Chinese melt, Gantt chart can demonstrate a Chi
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/** *   Copyright 2004 Carlos Silva A. *  *   Licensed under the Apache License, Version 2.0 (the "License"); *   you may not use this file except in compliance with the License.  *   You may obtain a copy of the License at   *  *   http://www.apache.org/licenses/LICENSE-2.0 *  *   Unless required by applicable law or agreed to in writing, software *   distributed under the License is distributed on an "AS IS" BASIS, *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *   See the License for the specific language governing permissions and *   limitations under the License. *  */package jgantt.view;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.Frame;import java.awt.Point;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.MalformedURLException;import java.net.URL;import java.text.ParseException;import java.util.Date;import javax.swing.ImageIcon;import javax.swing.JDialog;import javax.swing.JFileChooser;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JScrollPane;import javax.swing.filechooser.FileFilter;import jgantt.JGanttMain;import jgantt.Messages;import jgantt.model.Constraint;import jgantt.model.GanttException;import jgantt.model.GraphColors;import jgantt.model.IOManager;import jgantt.model.Project;import jgantt.model.Task;import jgantt.view.adapters.ProjectViewModel;import jgantt.view.dialogs.AsignationEditor;import jgantt.view.dialogs.ConstraintEditor;import jgantt.view.dialogs.GraphColorsEditor;import jgantt.view.dialogs.InputDialog;import jgantt.view.dialogs.OptionsEditor;import jgantt.view.dialogs.ProjectEditor;import jgantt.view.dialogs.ResourcesEditor;import jgantt.view.dialogs.ResourcesTable;import jgantt.view.dialogs.TaskEditor;import org.xml.sax.SAXException;/** * GanttActionListener, procesa todas las acciones recibidas desde el menu * principal y los menues popup dentro de la aplicacion. Los valores son * constantes para la mayoria de las opciones * <p> * $Date: 2005/08/19 15:51:08 $ * </p> *  * @version $Revision: 1.35 $ * @author Carlos Silva */public class GanttActionListener implements ActionListener {	public static final String WND_TITLE = Messages			.getString("MainFrame.title"); //$NON-NLS-1$	/**	 * usado para mantener la asociacion de carpetas	 */	JFileChooser chooser = new JFileChooser();	// COMANDOS estaticos, definidos en el menu	// FILE	public static final String CMD_NEW = "new";	public static final String CMD_OPEN = "open";	public static final String CMD_SAVE = "save";	public static final String CMD_SAVE_AS = "saveas";	public static final String CMD_EXIT = "exit";	// EDIT	public static final String CMD_EDIT_UNDO = "undo";	public static final String CMD_EDIT_REDO = "redo";	public static final String CMD_EDIT_TASK = "task";	public static final String CMD_INSERT_TASK = "instask";	public static final String CMD_APPEND_TASK = "apptask";	public static final String CMD_DELETE_TASK = "deltask";	public static final String CMD_EDIT_ASIGNATIONS = "asignations";	public static final String CMD_EDIT_RESOURCES = "resources";	public static final String CMD_MERGE_PROJECT = "mergeprj";	// PROJECT	public static final String CMD_PROJ_EDIT = "settings";	public static final String CMD_SNAPSHOT = "takesnap";	public static final String CMD_REMSNAPSHOT = "removesnap";	// TOOLS	public static final String CMD_EXPORT_IMG = "export_img";	public static final String CMD_RESOURCES_TABLE = "export_res";	// OPTIONS	public static final String CMD_VIEW_OPTIONS = "viewop";	public static final String CMD_GRAPH_COLORS = "graphop";	public static final String CMD_USER_GRAPHCOLORS = "loadcolors";	public static final String CMD_DEFINE_GRAPHCOLORS = "defcolors";	// HELP	public static final String CMD_HELP_KBD = "keybd";	public static final String CMD_HELP_HINTS = "hints";	public static final String CMD_HELP_FEEDBACK = "feedback";	public static final String CMD_HELP_ABOUT = "about";	// OTHER COMMANDS	public static final String CMD_TASK_GRAPHICS = "graphop";	public static final String CMD_EDIT_CONSTRAINT = "constraint";	public static final String CMD_DELETE_CONSTRAINT = "delconst";	private Frame mainWindow;	private GanttDisplay ganttDisplay;	private ProjectViewModel pvModel;	/**	 * Constructor	 * 	 * @param pvm	 *            ViewModel	 */	public GanttActionListener(ProjectViewModel pvm) {		this.mainWindow = null;		this.ganttDisplay = null;		this.pvModel = pvm;	}	/**	 * Asigna la ventana y el display principal asociado a este objeto.	 * 	 * @param window	 * @param display	 */	public void setup(Frame window, GanttDisplay display) {		mainWindow = window;		ganttDisplay = display;		updWindowTitle();	}	/**	 * Funcion despachadora	 */	public void actionPerformed(ActionEvent e) {		try {			String s = e.getActionCommand();			// System.out.println("ACTION " + s);			if (s.equals(CMD_EXIT)) {				cmdExit();			} else if (s.equals(CMD_EDIT_UNDO)) {				cmdUndo();			} else if (s.equals(CMD_EDIT_REDO)) {				cmdRedo();			} else if (s.equals(CMD_EDIT_TASK)) {				cmdEditTask();			} else if (s.equals(CMD_INSERT_TASK)) {				pvModel.insertTask();			} else if (s.equals(CMD_APPEND_TASK)) {				pvModel.appendTask();			} else if (s.equals(CMD_DELETE_TASK)) {				pvModel.deleteCurrentTask();			} else if (s.equals(CMD_EDIT_ASIGNATIONS)) {				cmdEditAsignations();			} else if (s.equals(CMD_EDIT_CONSTRAINT)) {				cmdEditConstraint();			} else if (s.equals(CMD_DELETE_CONSTRAINT)) {				cmdDeleteConstraint();			} else if (s.equals(CMD_PROJ_EDIT)) {				cmdEditProject();			} else if (s.equals(CMD_EDIT_RESOURCES)) {				cmdEditResources();			} else if (s.equals(CMD_MERGE_PROJECT)) {				cmdMergeProject();			} else if (s.equals(CMD_SNAPSHOT)) {				cmdSnapShot();			} else if (s.equals(CMD_REMSNAPSHOT)) {				cmdSnapShotRemove();			} else if (s.equals(CMD_VIEW_OPTIONS)) {				cmdViewOptions();			} else if (s.equals(CMD_GRAPH_COLORS)) {				cmdGraphColors();			} else if (s.equals(CMD_RESOURCES_TABLE)) {				cmdResourcesTable();			} else if (s.equals(CMD_EXPORT_IMG)) {				cmdExportImage();			} else if (s.equals(CMD_USER_GRAPHCOLORS)) {				cmdLoadUserColors();			} else if (s.equals(CMD_DEFINE_GRAPHCOLORS)) {				cmdDefineUserColors();			} else if (s.equals(CMD_NEW)) {				cmdNew();			} else if (s.equals(CMD_SAVE)) {				cmdSave();			} else if (s.equals(CMD_SAVE_AS)) {				cmdSaveAs();			} else if (s.equals(CMD_OPEN)) {				cmdOpen();			} else if (s.equals(CMD_HELP_KBD)) {				cmdHelpKeyboard();			} else if (s.equals(CMD_HELP_FEEDBACK)) {				cmdHelpFeedback();			} else if (s.equals(CMD_HELP_HINTS)) {				cmdHelpHints();			} else if (s.equals(CMD_HELP_ABOUT)) {				cmdHelpAbout();			} else			// SOPORTE A COMANDOS ORIGINALMENTE PROVENIENTES DE GANTTDISPLAY			if ("movedn".equals(s)) {				pvModel.goDownTask();			} else if ("moveup".equals(s)) {				pvModel.goUpTask();			} else if ("indentr".equals(s)) {				pvModel.asChildTask();			} else if ("indentl".equals(s)) {				pvModel.deChildTask();			}		} catch (Exception ex) {			JOptionPane.showMessageDialog(null, ex.getMessage(), "Error",					JOptionPane.ERROR_MESSAGE);			System.err.println(Messages					.getString("MainFrame.error.actionException")); //$NON-NLS-1$			ex.printStackTrace(System.err);		}	}	static public void cmdHelpAbout() {		new HelpWindow(Messages.getString("MainFrame.help.about.file"))				.setVisible(true);	}	static public void cmdHelpHints() {		HelpWindow w = new HelpWindow(Messages				.getString("MainFrame.help.hints.file"));		w.setSize(380, 210);		w.setTitle("Tips");		w.setVisible(true);	}	static public void cmdHelpFeedback() throws MalformedURLException {		new HelpWindow(new URL(Messages				.getString("MainFrame.help.feedback.url"))).setVisible(true);	}	static public void cmdHelpKeyboard() {		new HelpWindow(Messages.getString("MainFrame.help.keyb.file"))				.setVisible(true);	}	/**	 * Cerrar el sistema. ejecuta System.exit(0).	 */	public void cmdExit() {		if (mainWindow != null) {			mainWindow.dispose();			System.exit(0);		}	}	/**	 * Levanta el editor de tareas que apunta a la tarea actual	 */	public void cmdEditTask() {		JDialog jf = new JDialog(mainWindow, Messages				.getString("MainFrame.TaskEditorFrame.title")); //$NON-NLS-1$		ProjectViewModel pvm = (ProjectViewModel) ganttDisplay				.getProjectViewModel();		jf.getContentPane().add(new TaskEditor(jf, pvm));		jf.pack();		Point p = mainWindow.getLocation();		jf.setLocation(p.x + 100, p.y + 100);		jf.setVisible(true);	}	/**	 * Edita el constraint actual. El constraint actual se obtiene pidiendo a	 * GanttDisplay que retorne el objeto seleccionado actualmente. TODO: Mover	 * la informacion del objeto seleccionado hacia ViewModel.	 */	public void cmdEditConstraint() {		JDialog jf = new JDialog(mainWindow, Messages				.getString("ConstraintEditorFrame.title"));		jf.setModal(true);		ProjectViewModel pvm = (ProjectViewModel) ganttDisplay				.getProjectViewModel();		Constraint c = (Constraint) ganttDisplay.getSelectedObject();		jf.getContentPane().add(new ConstraintEditor(c));		jf.pack();		Point p = mainWindow.getLocation();		jf.setLocation(p.x + 100, p.y + 100);		jf.setVisible(true);	}	/**	 * Borra un constraint	 */	public void cmdDeleteConstraint() {		Constraint c = (Constraint) ganttDisplay.getSelectedObject();		c.remove();	}	/**	 * Edita los recursos existentes.	 */	public void cmdEditResources() {		JDialog jf = new JDialog(mainWindow, Messages				.getString("ResourcesEditor.title")); //$NON-NLS-1$		ProjectViewModel pvm = (ProjectViewModel) ganttDisplay				.getProjectViewModel();		jf.getContentPane().add(new ResourcesEditor(jf, pvm));		jf.pack();		jf.setSize(new Dimension(300, 200));		Point p = mainWindow.getLocation();		jf.setLocation(p.x + 100, p.y + 100);		jf.setVisible(true);	}	/**	 * Edita las asignaciones de recursos a la tarea actual	 */	public void cmdEditAsignations() {		ProjectViewModel pvm = (ProjectViewModel) ganttDisplay				.getProjectViewModel();		Task task = (Task) pvm.getCurrentTask();

⌨️ 快捷键说明

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