📄 ganttproject.java
字号:
try { UIManager.setLookAndFeel(lookAndFeel.getClassName()); SwingUtilities.updateComponentTreeUI(this); this.lookAndFeel = lookAndFeel; } catch (Exception e) { GanttLookAndFeelInfo info = GanttLookAndFeels .getGanttLookAndFeels().getDefaultInfo(); System.out.println("Can't find the LookAndFeel\n" + lookAndFeel.getClassName() + "\n" + lookAndFeel.getName() + "\nSetting the default Look'n'Feel" + info.getName()); try { UIManager.setLookAndFeel(info.getClassName()); SwingUtilities.updateComponentTreeUI(this); this.lookAndFeel = info; } catch (Exception ex) { } } // MetalLookAndFeel.setCurrentTheme(new GanttMetalTheme()); // must force to do that instead of the task on tree are not in // continuity of the calendar if (tree.getTable().getRowHeight() <= 22) tree.getTable().setRowHeight(20); } /** * @deprecated. Use GanttLanguage.correctLabel */ public static String correctLabel(String label) { return GanttLanguage.getInstance().correctLabel(label); } /** Change the label for menu, in fact check in the label contains a mnemonic */ public JMenu changeMenuLabel(JMenu menu, String label) { int index = label.indexOf('$'); if (index != -1 && label.length() - index > 1) { menu.setText(label.substring(0, index).concat( label.substring(++index))); menu.setMnemonic(Character.toLowerCase(label.charAt(index))); } else { menu.setText(label); // menu.setMnemonic(''); } return menu; } /** * Change the label for menuItem, in fact check in the label contains a * mnemonic */ public JMenuItem changeMenuLabel(JMenuItem menu, String label) { int index = label.indexOf('$'); if (index != -1 && label.length() - index > 1) { menu.setText(label.substring(0, index).concat( label.substring(++index))); menu.setMnemonic(Character.toLowerCase(label.charAt(index))); } else { menu.setText(label); // menu.setMnemonic(''); } return menu; } /** * Change the label for JCheckBoxmenuItem, in fact check in the label * contains a mnemonic */ public JCheckBoxMenuItem changeMenuLabel(JCheckBoxMenuItem menu, String label) { int index = label.indexOf('$'); if (index != -1 && label.length() - index > 1) { menu.setText(label.substring(0, index).concat( label.substring(++index))); menu.setMnemonic(Character.toLowerCase(label.charAt(index))); } else { menu.setText(label); // menu.setMnemonic(''); } return menu; } /** Set the menus language after the user select a different language */ private void changeLanguageOfMenu() { mProject = changeMenuLabel(mProject, language.getText("project")); mEdit = changeMenuLabel(mEdit, language.getText("edit")); // mView = changeMenuLabel(mView, language.getText("view")); mTask = changeMenuLabel(mTask, language.getText("task")); mHuman = changeMenuLabel(mHuman, language.getText("human")); mHelp = changeMenuLabel(mHelp, language.getText("help")); mCalendar = changeMenuLabel(mCalendar, language.getText("calendars")); mMRU = changeMenuLabel(mMRU, language.getText("lastOpen")); mServer = changeMenuLabel(mServer, language.getText("webServer")); miPreview = changeMenuLabel(miPreview, language.getText("preview")); miUndo = changeMenuLabel(miUndo, language.getText("undo")); miRedo = changeMenuLabel(miRedo, language.getText("redo")); miOptions = changeMenuLabel(miOptions, language.getText("settings")); // miNewTask = changeMenuLabel(miNewTask, // language.getText("createTask")); miDeleteTask = changeMenuLabel(miDeleteTask, language .getText("deleteTask")); mHuman.insert(changeMenuLabel(mHuman.getItem(0), language .getText("newHuman")), 0); miDelHuman = changeMenuLabel(miDelHuman, language .getText("deleteHuman")); mHuman.insert(changeMenuLabel(mHuman.getItem(4), language .getText("importResources")), 4); miSendMailHuman = changeMenuLabel(miSendMailHuman, language .getText("sendMail")); miEditCalendar = changeMenuLabel(miEditCalendar, language .getText("editCalendars")); miPrjCal = changeMenuLabel(miPrjCal, language .getText("projectCalendar")); miWebPage = changeMenuLabel(miWebPage, language.getText("webPage")); miAbout = changeMenuLabel(miAbout, language.getText("about")); miTips = changeMenuLabel(miTips, language.getText("tipsOfTheDay")); miManual = changeMenuLabel(miManual, language.getText("manual")); miChartOptions = changeMenuLabel(miChartOptions, language .getText("chartOptions")); miRefresh = changeMenuLabel(miRefresh, language.getText("refresh")); // ////////////////////////////////////////// bPreviewPrint.setToolTipText(getToolTip(correctLabel(language .getText("preview")))); bExport.setToolTipText(getToolTip(correctLabel(language .getText("export")))); bImport.setToolTipText(getToolTip(correctLabel(language .getText("import")))); bNewTask.setToolTipText(getToolTip(correctLabel(language .getText("createTask"))));// bCut.setToolTipText(getToolTip(correctLabel(language.getText("cut"))));// bCopy// .setToolTipText(getToolTip(correctLabel(language// .getText("copy"))));// bPaste// .setToolTipText(getToolTip(correctLabel(language// .getText("paste")))); bDelete.setToolTipText(getToolTip(correctLabel(language .getText("deleteTask")))); bProperties.setToolTipText(getToolTip(correctLabel(language .getText("propertiesTask"))));// bPrev.setToolTipText(getToolTip(correctLabel(language// .getText("backDate")))); bScrollCenter.setToolTipText(getToolTip(correctLabel(language .getText("centerOnSelectedTasks"))));// bNext.setToolTipText(getToolTip(correctLabel(language// .getText("forwardDate")))); bZoomIn.setToolTipText(getToolTip(correctLabel(language .getText("zoomIn")))); bZoomOut.setToolTipText(getToolTip(correctLabel(language .getText("zoomOut")))); bAbout .setToolTipText(getToolTip(correctLabel(language .getText("about")))); bUndo .setToolTipText(getToolTip(correctLabel(language .getText("undo")))); bRedo .setToolTipText(getToolTip(correctLabel(language .getText("redo")))); // bZoomFit.setToolTipText(getToolTip(language.zoomFit())); bCritical.setToolTipText(getToolTip(language.getText("criticalPath"))); bComparePrev .setToolTipText(getToolTip(language.getText("comparePrev"))); bSaveCurrent .setToolTipText(getToolTip(language.getText("saveCurrent"))); bRefresh.setToolTipText(getToolTip(language.getText("refresh"))); bShowHiddens .setToolTipText(getToolTip(language.getText("showHiddens"))); getTabs().setTitleAt(1, correctLabel(language.getText("human"))); setButtonText(); toolBar.updateButtonsLook(); } /** Invoked when a key has been pressed. */ public void keyPressed(KeyEvent e) { // System.out.println(e.getKeyCode()); /* * Consume the event to prevent it to go farther. */ int code = e.getKeyCode(); int modifiers = e.getModifiersEx(); if (code == KeyEvent.KEY_LOCATION_UNKNOWN) e.consume(); switch (code) { case KeyEvent.VK_DELETE: e.consume(); if (!isOnlyViewer) { if (getViewIndex() == UIFacade.GANTT_INDEX) deleteTasks(true); else if (getViewIndex() == UIFacade.RESOURCES_INDEX) { deleteResources(); } } break; case KeyEvent.VK_ENTER: break; case KeyEvent.VK_F5: { e.consume(); repaint2(); break; } } } /** Invoked when a key has been released. */ public void keyReleased(KeyEvent e) { } /** Invoked when a key has been typed. */ public void keyTyped(KeyEvent e) { } /** Return the tooltip in html (with yello bgcolor */ public static String getToolTip(String msg) { return "<html><body bgcolor=#EAEAEA>" + msg + "</body></html>"; } /** Set the text on the buttons. */ public void setButtonText() { if (options.getButtonShow() != GanttOptions.ICONS) { bImport.setText(correctLabel(language.getText("import"))); bExport.setText(correctLabel(language.getText("export"))); bPreviewPrint.setText(correctLabel(language.getText("preview"))); bNewTask.setText(correctLabel(language.getText(getTabs() .getSelectedIndex() == UIFacade.GANTT_INDEX ? "createTask" : "newHuman"))); bDelete.setText(correctLabel(language.getText(getTabs() .getSelectedIndex() == UIFacade.GANTT_INDEX ? "deleteTask" : "deleteHuman"))); bProperties .setText(correctLabel(language .getText(getTabs().getSelectedIndex() == UIFacade.GANTT_INDEX ? "propertiesTask" : "propertiesHuman"))); bPrev.setText(correctLabel(language.getText("backDate"))); bScrollCenter.setText(correctLabel(language .getText("centerOnSelectedTasks"))); bNext.setText(correctLabel(language.getText("forwardDate"))); bZoomOut.setText(correctLabel(language.getText("zoomOut"))); bZoomIn.setText(correctLabel(language.getText("zoomIn"))); bAbout.setText(correctLabel(language.getText("about"))); bUndo.setText(correctLabel(language.getText("undo"))); bRedo.setText(correctLabel(language.getText("redo"))); bCritical.setText(language.getText("criticalPath")); bComparePrev.setText(correctLabel(language.getText("comparePrev"))); bSaveCurrent.setText(correctLabel(language.getText("saveCurrent"))); bRefresh.setText(correctLabel(language.getText("refresh"))); // bShowHiddens.setText // (correctLabel(language.getText("showHiddens"))); } } /** Apply Buttons options. */ public void applyButtonOptions() { setButtonText(); if (options.getButtonShow() == GanttOptions.TEXT) { for (int i = 0; i < myRolloverActions.size(); i++) { RolloverAction next = (RolloverAction) myRolloverActions.get(i); next.isIconVisible(false); next.setIconSize(options.getIconSize()); } } else { if (!myUIConfiguration.isCriticalPathOn()) bCritical.setDefaultIcon(new ImageIcon(getClass().getResource( "/icons/criticalPathOff_" + options.getIconSize() + ".gif"))); else bCritical.setDefaultIcon(new ImageIcon(getClass().getResource( "/icons/criticalPathOn_" + options.getIconSize() + ".gif"))); for (int i = 0; i < myRolloverActions.size(); i++) { RolloverAction next = (RolloverAction) myRolloverActions.get(i); next.isIconVisible(true); next.setIconSize(options.getIconSize()); } } toolBar.updateButtonsLook(); } /** Create the button on toolbar */ public void addButtons(JToolBar toolBar) { // toolBar.addSeparator(new Dimension(20,0)); // ///////////////////////////////////////////////////////////////////////////////////////////////////////// // ///////////////////////////////////////////////////////////////////////////////////////////////////////// bNew = new TestGanttRolloverButton(myProjectMenu.getNewProjectAction()); bOpen = new TestGanttRolloverButton(myProjectMenu.getOpenProjectAction()); bSave = new TestGanttRolloverButton(myProjectMenu.getSaveProjectAction()); // ///////////////////////////////////////////////////////////////////////////////////////////////////////// // ///////////////////////////////////////////////////////////////////////////////////////////////////////// bImport = new TestGanttRolloverButton( new ImageIcon(getClass().getResource( "/icons/import_" + options.getIconSize() + ".gif"))); bImport.addActionListener(this); // toolBar.add(bImport); // ///////////////////////////////////////////////////////////////////////////////////////////////////////// bExport = new TestGanttRolloverButton( new ImageIcon(getClass().getResource(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -