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

📄 ganttproject.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
/***************************************************************************  GanttProject.java  -  description ------------------- begin                : dec 2002 copyright            : (C) 2002 by Thomas Alexandre email                : alexthomas(at)ganttproject.org ***************************************************************************//*************************************************************************** *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * ***************************************************************************/package net.sourceforge.ganttproject;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Component;import java.awt.Container;import java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ComponentEvent;import java.awt.event.ComponentListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import java.io.File;import java.io.IOException;import java.net.URL;import java.security.AccessControlException;import java.util.ArrayList;import java.util.Date;import java.util.Hashtable;import java.util.Iterator;import java.util.List;import javax.swing.AbstractAction;import javax.swing.AbstractButton;import javax.swing.Action;import javax.swing.DefaultListModel;import javax.swing.ImageIcon;import javax.swing.JCheckBoxMenuItem;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPopupMenu;import javax.swing.JTable;import javax.swing.JToolBar;import javax.swing.KeyStroke;import javax.swing.SwingUtilities;import javax.swing.ToolTipManager;import javax.swing.UIManager;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.MutableTreeNode;import javax.swing.tree.TreePath;import net.sourceforge.ganttproject.GanttProjectBase.RowHeightAligner;import net.sourceforge.ganttproject.action.CalculateCriticalPathAction;import net.sourceforge.ganttproject.action.DeleteAssignmentAction;import net.sourceforge.ganttproject.action.GPAction;import net.sourceforge.ganttproject.action.ImportResources;import net.sourceforge.ganttproject.action.NewArtefactAction;import net.sourceforge.ganttproject.action.NewHumanAction;import net.sourceforge.ganttproject.action.NewTaskAction;import net.sourceforge.ganttproject.action.RedoAction;import net.sourceforge.ganttproject.action.RefreshViewAction;import net.sourceforge.ganttproject.action.ResourceActionSet;import net.sourceforge.ganttproject.action.RolloverAction;import net.sourceforge.ganttproject.action.ScrollGanttChartLeftAction;import net.sourceforge.ganttproject.action.ScrollGanttChartRightAction;import net.sourceforge.ganttproject.action.SwitchViewAction;import net.sourceforge.ganttproject.action.UndoAction;import net.sourceforge.ganttproject.action.ZoomInAction;import net.sourceforge.ganttproject.action.ZoomOutAction;import net.sourceforge.ganttproject.action.project.ProjectMenu;import net.sourceforge.ganttproject.action.task.TaskPropertiesAction;import net.sourceforge.ganttproject.calendar.GPCalendar;import net.sourceforge.ganttproject.calendar.WeekendCalendarImpl;import net.sourceforge.ganttproject.chart.Chart;import net.sourceforge.ganttproject.chart.GanttChart;import net.sourceforge.ganttproject.chart.ToggleChartAction;import net.sourceforge.ganttproject.delay.DelayManager;import net.sourceforge.ganttproject.document.Document;import net.sourceforge.ganttproject.document.DocumentManager;import net.sourceforge.ganttproject.document.DocumentsMRU;import net.sourceforge.ganttproject.document.HttpDocument;import net.sourceforge.ganttproject.document.OpenDocumentAction;import net.sourceforge.ganttproject.export.CommandLineExportApplication;import net.sourceforge.ganttproject.export.ExportFileAction;import net.sourceforge.ganttproject.gui.GanttDialogCalendar;import net.sourceforge.ganttproject.gui.GanttDialogInfo;import net.sourceforge.ganttproject.gui.GanttDialogPerson;import net.sourceforge.ganttproject.gui.GanttLookAndFeelInfo;import net.sourceforge.ganttproject.gui.GanttLookAndFeels;import net.sourceforge.ganttproject.gui.TestGanttRolloverButton;import net.sourceforge.ganttproject.gui.TipsDialog;import net.sourceforge.ganttproject.gui.UIConfiguration;import net.sourceforge.ganttproject.gui.UIFacade;import net.sourceforge.ganttproject.gui.UIFacade.Choice;import net.sourceforge.ganttproject.gui.about.AboutDialog;import net.sourceforge.ganttproject.gui.options.SettingsDialog;import net.sourceforge.ganttproject.gui.options.model.GPOptionGroup;import net.sourceforge.ganttproject.gui.previousState.GanttDialogCompareToPreviousState;import net.sourceforge.ganttproject.gui.previousState.GanttDialogSaveAsPreviousState;import net.sourceforge.ganttproject.gui.scrolling.ScrollingManager;import net.sourceforge.ganttproject.importer.ImportFileAction;import net.sourceforge.ganttproject.importer.ImportFileWizardImpl;import net.sourceforge.ganttproject.io.GPSaver;import net.sourceforge.ganttproject.io.GanttXMLOpen;import net.sourceforge.ganttproject.io.GanttXMLSaver;import net.sourceforge.ganttproject.language.GanttLanguage;import net.sourceforge.ganttproject.parser.GPParser;import net.sourceforge.ganttproject.parser.ParserFactory;import net.sourceforge.ganttproject.parser.PreviousStateTasksTagHandler;import net.sourceforge.ganttproject.parser.ResourceCustomPropertiesTagHandler;import net.sourceforge.ganttproject.parser.ResourcePropertiesTagHandler;import net.sourceforge.ganttproject.parser.ResourceTagHandler;import net.sourceforge.ganttproject.parser.RoleTagHandler;import net.sourceforge.ganttproject.parser.TaskDisplayColumnsTagHandler;import net.sourceforge.ganttproject.parser.TaskPropertiesTagHandler;import net.sourceforge.ganttproject.parser.TaskTagHandler;import net.sourceforge.ganttproject.parser.VacationTagHandler;import net.sourceforge.ganttproject.parser.ViewTagHandler;import net.sourceforge.ganttproject.print.PrintManager;import net.sourceforge.ganttproject.print.PrintPreview;import net.sourceforge.ganttproject.resource.AssignmentContext;import net.sourceforge.ganttproject.resource.HumanResource;import net.sourceforge.ganttproject.resource.HumanResourceManager;import net.sourceforge.ganttproject.resource.ProjectResource;import net.sourceforge.ganttproject.resource.ResourceContext;import net.sourceforge.ganttproject.resource.ResourceEvent;import net.sourceforge.ganttproject.resource.ResourceManager;import net.sourceforge.ganttproject.resource.ResourceView;import net.sourceforge.ganttproject.roles.RoleManager;import net.sourceforge.ganttproject.task.BlankLineNode;import net.sourceforge.ganttproject.task.CustomColumnsStorage;import net.sourceforge.ganttproject.task.Task;import net.sourceforge.ganttproject.task.TaskContainmentHierarchyFacade;import net.sourceforge.ganttproject.task.TaskManager;import net.sourceforge.ganttproject.task.TaskManagerConfig;import net.sourceforge.ganttproject.task.TaskManagerImpl;import net.sourceforge.ganttproject.task.TaskNode;import net.sourceforge.ganttproject.task.TaskSelectionManager;import net.sourceforge.ganttproject.task.algorithm.AdjustTaskBoundsAlgorithm;import net.sourceforge.ganttproject.task.algorithm.RecalculateTaskCompletionPercentageAlgorithm;import net.sourceforge.ganttproject.time.TimeUnitStack;import net.sourceforge.ganttproject.util.BrowserControl;/** * Main frame of the project */public class GanttProject extends GanttProjectBase implements ActionListener,        IGanttProject, ResourceView, KeyListener, UIFacade {    /** The current version of ganttproject */    public static final String version = GPVersion.V2_1;    /** Command line creation or gui creation */    public static boolean byCommandLine = false;    /** The language use */    private GanttLanguage language = GanttLanguage.getInstance();    /** The JTree part. */    private GanttTree2 tree;    /** GanttGraphicArea for the calendar with Gantt */    private GanttGraphicArea area;    /** GanttPeoplePanel to edit person that work on the project */    private GanttResourcePanel resp;    /** The differents menus */    public JMenu mProject, mMRU, mEdit, mTask, mHuman, mHelp, mServer,            mCalendar;    // public JMenu mView;    /** The differetns menuitem */    public JMenuItem             miPreview,/* miCut, miCopy, miPaste,*/ miOptions,            miDeleteTask,  /*miUp, miDown,*/ miDelHuman,            miSendMailHuman, miEditCalendar, miPrjCal, miWebPage,            miTips, miAbout, miManual, miRefresh, miChartOptions;    public JMenuItem miUndo, miRedo;    private static final int maxSizeMRU = 5;    private DocumentsMRU documentsMRU = new DocumentsMRU(maxSizeMRU);    /** The differents button of toolbar */    private TestGanttRolloverButton bNew, bOpen, bSave,            bExport, bImport, bPrint, bPreviewPrint, bCopy, bCut, bPaste,            bNewTask, bDelete, bProperties,/* bUnlink, bLink,  bUp,            bDown,*/ bPrev, bScrollCenter, bNext, bZoomFit, bAbout;    private TestGanttRolloverButton bShowHiddens;    private JPopupMenu menu = new JPopupMenu();;    private TestGanttRolloverButton bZoomIn, bZoomOut;    private TestGanttRolloverButton bUndo, bRedo;    private TestGanttRolloverButton bCritical;    private TestGanttRolloverButton bSaveCurrent, bComparePrev;    private TestGanttRolloverButton bRefresh;    /** The project filename */    public Document projectDocument = null;    /** Informations for the current project. */    public PrjInfos prjInfos = new PrjInfos();    /** Boolean to know if the file has been modify */    public boolean askForSave = false;    /** The info for the look'n'feel */    public GanttLookAndFeelInfo lookAndFeel;    /** Is the application only for viewer. */    public boolean isOnlyViewer;    /** The list of all managers installed in this project */    private Hashtable managerHash = new Hashtable();    private ResourceActionSet myResourceActions;    /** Frame for the help Viewer */    private JFrame helpFrame = null;    private final TaskManager myTaskManager;    private FacadeInvalidator myFacadeInvalidator;    private UIConfiguration myUIConfiguration;    private final GanttOptions options;    private JMenuBar bar;    // ! Toolbar of ui    private GPToolBar toolBar;    private DefaultListModel iconList = new DefaultListModel();    private DefaultListModel deletedIconList = new DefaultListModel();    // list.setName("list");    private TaskPropertiesAction myTaskPropertiesAction;        private NewTaskAction myNewTaskAction;    private NewHumanAction myNewHumanAction;    private NewArtefactAction myNewArtefactAction;//    private CopyAction myCopyAction;////    private PasteAction myPasteAction;////    private CutAction myCutAction;//    private RefreshViewAction myRefreshAction;    private Action myDeleteHumanAction;    private TaskContainmentHierarchyFacadeImpl myCachedFacade;    private List myRolloverActions = new ArrayList();    private ArrayList myPreviousStates = new ArrayList();    private MouseListener myStopEditingMouseListener = null;    private DelayManager myDelayManager;    // private boolean bQuickSave;//to know if gantt has to quicksave the    // project    // private int currentQuickSave;    // private ArrayList aQuick;//List of all the quicksaves    // private int lastQuickSave;    // private int firstQuickSave;    // private int undoNumber;    //private JSplitPane mySplitPane;    private ProjectMenu myProjectMenu;

⌨️ 快捷键说明

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