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

📄 gantttreetable.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                    .getTitle()));            dc10.setDisplayed(false);            dc10.setOrder(this.getTable().convertColumnIndexToView(                    tce10.getModelIndex()));            dc10.setWidth(tce10.getPreferredWidth());            listDisplayedColumns.add(dc10);            // ID            DisplayedColumn dc11 = new DisplayedColumn(getIdForName(tce11                    .getTitle()));            dc11.setDisplayed(false);            dc11.setOrder(this.getTable().convertColumnIndexToView(                    tce11.getModelIndex()));            dc11.setWidth(tce11.getPreferredWidth());            listDisplayedColumns.add(dc11);            // Assignments            DisplayedColumn dc12 = new DisplayedColumn(getIdForName(tce12                    .getTitle()));            dc12.setDisplayed(false);            dc12.setOrder(this.getTable().convertColumnIndexToView(                    tce12.getModelIndex()));            dc12.setWidth(tce11.getPreferredWidth());            listDisplayedColumns.add(dc12);                        // Line number            DisplayedColumn dc13 = new DisplayedColumn(getIdForName(tce12                    .getTitle()));            dc13.setDisplayed(false);            dc13.setOrder(this.getTable().convertColumnIndexToView(                    tce12.getModelIndex()));            dc13.setWidth(tce12.getPreferredWidth());            listDisplayedColumns.add(dc13);            // this.setDisplayedColumns(listDisplayedColumns);        }        {            this.mapTableColumnColumnKeeper.clear();            this.mapTableColumnColumnKeeper.put(tce1, new ColumnKeeper(tce1));            this.mapTableColumnColumnKeeper.put(tce2, new ColumnKeeper(tce2));            this.mapTableColumnColumnKeeper.put(tce3, new ColumnKeeper(tce3));            this.mapTableColumnColumnKeeper.put(tce4, new ColumnKeeper(tce4));            this.mapTableColumnColumnKeeper.put(tce5, new ColumnKeeper(tce5));            this.mapTableColumnColumnKeeper.put(tce6, new ColumnKeeper(tce6));            this.mapTableColumnColumnKeeper.put(tce7, new ColumnKeeper(tce7));            this.mapTableColumnColumnKeeper.put(tce8, new ColumnKeeper(tce8));            this.mapTableColumnColumnKeeper.put(tce9, new ColumnKeeper(tce9));            this.mapTableColumnColumnKeeper.put(tce10, new ColumnKeeper(tce10));            this.mapTableColumnColumnKeeper.put(tce11, new ColumnKeeper(tce11));            this.mapTableColumnColumnKeeper.put(tce12, new ColumnKeeper(tce12));            this.mapTableColumnColumnKeeper.put(tce13,new ColumnKeeper(tce13));        }        initColumnsAlignements();        getTable().getColumnExt(GanttTreeTableModel.strColBegDate)                .setCellEditor(newDateCellEditor());        getTable().getColumnExt(GanttTreeTableModel.strColEndDate)                .setCellEditor(newDateCellEditor());        getTable().getColumnExt(GanttTreeTableModel.strColName).setCellEditor(                new NameCellEditor());        // createPopupMenu();        if (listDisplayedColumns != null) {            this.setDisplayedColumns(listDisplayedColumns);        } else {            this.displayAllColumns();        }        Runnable t = new Runnable() {            public void run() {                calculateWidth();                revalidate();            }        };        SwingUtilities.invokeLater(t);    }    /**     * Initialize the treetable. Addition of various listeners, tree's icons,     */    void initTreeTable() {        clickPoint = null;        if (Mediator.getCustomColumnsManager() == null) {            Mediator                    .registerCustomColumnsManager(new CustomColumnsManager(this));        }        mapColNameMenuItem = new HashMap();        getTreeTableModel().addTreeModelListener(new TreeModelListener() {			public void treeNodesChanged(TreeModelEvent arg0) {			}			public void treeNodesInserted(TreeModelEvent arg0) {			}			public void treeNodesRemoved(TreeModelEvent arg0) {			}			public void treeStructureChanged(TreeModelEvent arg0) {			}        	        });        getTable().setAutoCreateColumnsFromModel(false);        getTable().setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);        // the model must implement TableColumnModelListener        // Highlighters to ease the reading of the table.        // set the CellEditor for the dates.        setShowHorizontalLines(true);        setOpenIcon(null);        setClosedIcon(null);        setCollapsedIcon(new ImageIcon(getClass()                .getResource("/icons/plus.gif")));        setExpandedIcon(new ImageIcon(getClass()                .getResource("/icons/minus.gif")));        setLeafIcon(null);        this.setHasColumnControl(false);        // this.getTable().moveColumn(0,2);        // List l = new ArrayList();        // DisplayedColumn dc1 = new DisplayedColumn("tpd3");        // DisplayedColumn dc2 = new DisplayedColumn("tpd8");        // dc1.setDisplayed(true);        // dc2.setDisplayed(true);        // l.add(dc1);        // l.add(dc2);        // this.setDisplayedColumns(l);        // // hideColumn("Name");        this.getTreeTable().getParent().setBackground(Color.WHITE);        // EventListener listeners[] = this.getTreeTable().getParent()        // .getListeners(MouseListener.class);        // for (int i = 0; i < listeners.length; i++)        // this.getTreeTable().getParent().removeMouseListener(        // (MouseListener) listeners[i]);        this.getTreeTable().getParent().addMouseListener(new MouseAdapter() {            public void mouseClicked(MouseEvent e) {                e.consume();                if (e.getClickCount() == 1)                    Mediator.getGanttProjectSingleton().getTree()                            .selectTreeRow(-1);                else if (e.getClickCount() == 2                        && e.getButton() == MouseEvent.BUTTON1) {                    Mediator.getGanttProjectSingleton().getUndoManager()                            .undoableEdit("New Task by click", new Runnable() {                                public void run() {                                    Mediator.getGanttProjectSingleton()                                            .newTask();                                }                            });                }            }        });        {            InputMap inputMap = getInputMap();            inputMap.setParent(getTreeTable().getInputMap(                    JComponent.WHEN_FOCUSED));            getTreeTable().setInputMap(JComponent.WHEN_FOCUSED, inputMap);            ActionMap actionMap = getActionMap();            actionMap.setParent(getTreeTable().getActionMap());            getTreeTable().setActionMap(actionMap);        }        {            getTable().getColumnModel().addColumnModelListener(                    (TableColumnModelListener) this.getTreeTableModel());            getTable().getModel().addTableModelListener(new ModelListener());            getTable().getTableHeader().addMouseListener(                    new HeaderMouseListener());            // The following is used to store the new index of a moved column in            // order            // to restore it properly.            getTable().getColumnModel().addColumnModelListener(                    new TableColumnModelListener() {                        public void columnAdded(TableColumnModelEvent e) {                            // nothing to do                        }                        public void columnRemoved(TableColumnModelEvent e) {                            // nothing to do                        }                        public void columnMoved(TableColumnModelEvent e) {                            DefaultTableColumnModel o = (DefaultTableColumnModel) e                                    .getSource();                            TableColumn tc = o.getColumn(e.getFromIndex());                            ColumnKeeper ck = ((ColumnKeeper) mapTableColumnColumnKeeper                                    .get(tc));                            if (ck != null)                                ck.setInitIndex(e.getToIndex());                            if (Mediator.getGanttProjectSingleton() != null)                                Mediator.getGanttProjectSingleton()                                        .setAskForSave(true);                            updateDisplayedColumnsOrder();                        }                        public void columnMarginChanged(ChangeEvent e) {                            // nothing to do                        }                        public void columnSelectionChanged(ListSelectionEvent e) {                            // nothing to do                        }                    });        }        setHighlighters(new HighlighterPipeline(new Highlighter[] {                AlternateRowHighlighter.quickSilver,                new HierarchicalColumnHighlighter() }));        reloadColumns();    }    void addScrollPaneMouseListener(MouseListener ml) {        this.getTreeTable().getParent().addMouseListener(ml);    }    private void initColumnsAlignements() {        // set the columns horizontal aligment. It also associate an        // appropiate renderer according to the column class.        setColumnHorizontalAlignment(GanttTreeTableModel.strColType,                SwingConstants.CENTER);        setColumnHorizontalAlignment(GanttTreeTableModel.strColPriority,                SwingConstants.CENTER);        setColumnHorizontalAlignment(GanttTreeTableModel.strColInfo,                SwingConstants.CENTER);        // setColumnHorizontalAlignment(GanttTreeTableModel.strColName,        // SwingConstants.LEFT);        setColumnHorizontalAlignment(GanttTreeTableModel.strColBegDate,                SwingConstants.CENTER);        setColumnHorizontalAlignment(GanttTreeTableModel.strColEndDate,                SwingConstants.CENTER);        setColumnHorizontalAlignment(GanttTreeTableModel.strColDuration,                SwingConstants.CENTER);        setColumnHorizontalAlignment(GanttTreeTableModel.strColCompletion,                SwingConstants.CENTER);        setColumnHorizontalAlignment(GanttTreeTableModel.strColCoordinator,                SwingConstants.CENTER);        setColumnHorizontalAlignment(GanttTreeTableModel.strColPredecessors,                SwingConstants.RIGHT);        setColumnHorizontalAlignment(GanttTreeTableModel.strColID,                SwingConstants.CENTER);        setColumnHorizontalAlignment(GanttTreeTableModel.strAssignments,                SwingConstants.CENTER);        // Set the columns widths        getTable().getColumnExt(GanttTreeTableModel.strColID)                .setPreferredWidth(32);        getTable().getColumnExt(GanttTreeTableModel.strColType)                .setPreferredWidth(32);        getTable().getColumnExt(GanttTreeTableModel.strColPriority)                .setPreferredWidth(42);        getTable().getColumnExt(GanttTreeTableModel.strColInfo)                .setPreferredWidth(32);        getTable().getColumnExt(GanttTreeTableModel.strColName)                .setPreferredWidth(120);        getTable().getColumnExt(GanttTreeTableModel.strColDuration)                .setPreferredWidth(50);        // getTable().getColumnExt(GanttTreeTableModel.strColType).setMaxWidth(32);        // getTable().getColumnExt(GanttTreeTableModel.strColPriority).setMaxWidth(42);        // getTable().getColumnExt(GanttTreeTableModel.strColInfo).setMaxWidth(32);        // getTable().getColumnExt(GanttTreeTableModel.strColName).setMaxWidth(800);        // getTable().getColumnExt(GanttTreeTableModel.strColBegDate).setMaxWidth(300);        // getTable().getColumnExt(GanttTreeTableModel.strColEndDate).setMaxWidth(300);        // getTable().getColumnExt(GanttTreeTableModel.strColDuration).setMaxWidth(300);        // getTable().getColumnExt(GanttTreeTableModel.strColCompletion).setMaxWidth(300);        // getTable().getColumnExt(GanttTreeTableModel.strColCoordinator).setMaxWidth(300);    }    void calculateWidth() {        int width = 0;        int nbCol = getTable().getColumnCount();        for (int i = 0; i < nbCol; i++) {            TableColumnExt tce = getTable().getColumnExt(i);            if (tce.isVisible())                width += tce.getPreferredWidth();        }        getTable().setPreferredScrollableViewportSize(new Dimension(width, 0));    }    /**     * Creates the popupMenu used to hide/show columns and to add customs     * columns. It will associate each tablecolumn with an ColumnKeeper in     * charge of adding and removing the tablecolumn.     */    private void createPopupMenu() {        // Iterator it = mapTableColumnColumnKeeper.keySet().iterator();        mapColNameMenuItem.clear();        popupMenu = new JPopupMenu();        TableColumnModel tcModel = this.getTable().getColumnModel();        // int nbCol = tcModel.getColumnCount();        // int nbCol = mapTableColumnColumnKeeper.keySet().size();        for (Iterator entries = mapTableColumnColumnKeeper.entrySet()                .iterator(); entries.hasNext();) {            // TableColumn column = tcModel.getColumn(i);            Map.Entry nextEntry = (Entry) entries.next();            TableColumn column = (TableColumn) nextEntry.getKey();            JCheckBoxMenuItem jcbmi = new JCheckBoxMenuItem(column                    .getHeaderValue().toString());            ColumnKeeper ck = (ColumnKeeper) nextEntry.getValue();            assert ck != null;            jcbmi.setSelected(ck.isShown);            jcbmi.addActionListener(ck);            mapColNameMenuItem.put(column.getHeaderValue().toString(), jcbmi);            popupMenu.add(jcbmi);        }        popupMenu.addSeparator();        JMenuItem jmiAddColumn = new JMenuItem(language                .getText("addCustomColumn"));        jmiAddColumn.setIcon(new ImageIcon(getClass().getResource(                "/icons/addCol_16.gif")));        jmiAddColumn.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                Mediator.getGanttProjectSingleton().getUndoManager()                        .undoableEdit("PopUpNewColumn", new Runnable() {                            public void run() {                                Mediator.getCustomColumnsManager()                                        .addNewCustomColumn(null);                            }                        });            }        });        JMenuItem jmiDisplayAll = new JMenuItem(language.getText("displayAll"));        jmiDisplayAll.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                Mediator.getGanttProjectSingleton().getUndoManager()

⌨️ 快捷键说明

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