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

📄 toolfactory.java

📁 用Java开发的、实现类似Visio功能的应用程序源码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
	

        //decorate menu and its sub menus..	
	JMenu decorateMenu		=new JMenu(CADResource.getString("menuitem.graph.decorate.label"));
	decorateMenu.setFont(GUIConst.FONT_MENU);
	decorateMenu.setMnemonic(CADResource.getChar("menuitem.graph.decorate.mnemonic"));
	addDecorateMenus(decorateMenu,listener);
	pMenu.add(decorateMenu);	


        //group menu	
	JMenu groupMenu		 =new JMenu(CADResource.getString("menuitem.graph.group.label"));
	groupMenu.setFont(GUIConst.FONT_MENU);

	groupMenu.setMnemonic(CADResource.getChar("menuitem.graph.group.mnemonic"));
	addGroupMenus(groupMenu,listener);

	pMenu.add(groupMenu);	

	//* demo
        //An export menu.
        JMenu exportMenu = createMenu(CADResource.getString("menu.exporting.label"),
        			   CADResource.getChar("menu.exporting.mnemonic"),
        			   CADResource.getChar("menu.exporting.accelerator"),
        			   CADResource.getString("menu.exporting.keymask")
        			   );
        exportMenu.setFont(GUIConst.FONT_MENU);			   
        addExportMenus(exportMenu,listener,true);
        pMenu.add(exportMenu);
	//*/

        pMenu.add(new JSeparator());


	//setting menu
	JMenu setMenu		=new JMenu(CADResource.getString("menu.setting.label"));
	setMenu.setFont(GUIConst.FONT_MENU);
	
	addSettingMenus(setMenu,listener);
	pMenu.add(setMenu);
        
	//* demo
	if (!hideLibrary){ 
        	pMenu.add(new JSeparator());
		addLibraryMenus(pMenu,listener);
	}
	//*/	
	return pMenu;       
    }

	
    /** key mask: alt mask or ctrl mask.*/	
    private static final String KEYMASK_ALT	="alt";
    private static final String KEYMASK_CTRL	="ctrl";

    /**
     *  Create menu title.
     *  
     *  @param caption A caption for an title menu.
     *  @param mnemonicKey A key for short cut operation.
     *  @param keyMask A key mask represents a alt-mask or ctrl-mask.
     */
    public static  JMenu createMenu(String caption, char mnemonicKey,char accelerator,String keyMask){
    	return createMenu(caption,"",mnemonicKey,accelerator,keyMask);
    }



    /**
     *  Create menu title.
     *  
     *  @param caption A caption for an title menu.
     *  @param iconName The name of an icon.
     *  @param mnemonicKey A key for short cut operation.
     *  @param keyMask A key mask represents a alt-mask or ctrl-mask.
     */
    public static  JMenu createMenu(String caption,String iconName, char mnemonicKey,char accelerator,String keyMask){
	JMenu	m=new JMenu(caption);

    	if (iconName!=null && iconName.length()>0){
        	ImageIcon icon = createIcon(iconName);
        	m.setIcon(icon);
        }
	m.setMnemonic(mnemonicKey);
	m.setFont(GUIConst.FONT_MENU);
	if (accelerator!=0){
		if (KEYMASK_ALT.equals(keyMask))
  		    m.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.ALT_MASK));
  		else if (KEYMASK_CTRL.equals(keyMask))
  		    m.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.CTRL_MASK));
	}
	
	return m;
    }


    /**
     *  Create radio menu item.
     *  
     *  @param caption A caption for an menu item.
     *  @param mnemonicKey A key for short cut operation.
     *  @param keyMask A key mask represents a alt-mask or ctrl-mask.
     *  @param checked  If this radio menu item is checked defaultly.
     *  @param action A command string for furthur action processing.
     *  @param listener An action listener to be attached.
     */
    public static  JRadioButtonMenuItem createRadioMenuItem(String caption, char mnemonicKey,char accelerator,String keyMask,boolean checked,String action,ActionListener listener){
	JRadioButtonMenuItem mi = new JRadioButtonMenuItem(caption,true);

	if (mnemonicKey!=0)
		mi.setMnemonic(mnemonicKey);

	if (accelerator!=0){
		if (KEYMASK_ALT.equals(keyMask))
  		    mi.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.ALT_MASK));
  		else if (KEYMASK_CTRL.equals(keyMask))
  		    mi.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.CTRL_MASK));
	}

	mi.setActionCommand(action);
	mi.addActionListener(listener);

	mi.setFont(GUIConst.FONT_MENU);
	
	return mi;
    }




    /**
     *  Create menu item.
     *  
     *  @param caption A caption for an menu item.
     *  @param mnemonicKey A key for short cut operation.
     *  @param keyMask A key mask represents a alt-mask or ctrl-mask.
     *  @param action A command string for furthur action processing.
     *  @param listener An action listener to be attached.
     */
    public static JMenuItem createMenuItem(String caption, char mnemonicKey,char accelerator,String keyMask,String action,ActionListener listener){
    	return createMenuItem(caption,"",mnemonicKey,accelerator,keyMask,action,listener);
    }

    /**
     *  Create menu item.
     *  
     *  @param caption A caption for an menu item.
     *  @param iconName The name of an icon.
     *  @param mnemonicKey A key for short cut operation.
     *  @param keyMask A key mask represents a alt-mask or ctrl-mask.
     *  @param action A command string for furthur action processing.
     *  @param listener An action listener to be attached.
     */
    public static JMenuItem createMenuItem(String caption, String iconName,char mnemonicKey,char accelerator,String keyMask,String action,ActionListener listener){
    	JMenuItem mi;
    	if (iconName!=null && iconName.length()>0){
        	ImageIcon icon = createIcon(iconName);
        	mi = new JMenuItem(caption, icon);
        }else{
		mi=new JMenuItem(caption);
	}
	if (mnemonicKey!=0)
		mi.setMnemonic(mnemonicKey);

	if (accelerator!=0){
		if (KEYMASK_ALT.equals(keyMask))
  		    mi.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.ALT_MASK));
  		else if (KEYMASK_CTRL.equals(keyMask))
  		    mi.setAccelerator(KeyStroke.getKeyStroke(accelerator,ActionEvent.CTRL_MASK));
	}

	mi.setActionCommand(action);
	mi.addActionListener(listener);

	mi.setFont(GUIConst.FONT_MENU);

	return mi;
    }

    /**
     *  add file buttons to a ToolBar
     */	    
    public void addFileButtons(JToolBar bar, ActionListener listener){
    	
        
   	
        bar.add(createButton(CADResource.getString("menuitem.newfile.label"),
        			 CADResource.getString("menuitem.newfile.tooltip"),
        			 "general/new16",
       			   	 CADResource.getChar("menuitem.newfile.mnemonic"),
        			 ActionConst.CMD_FILE_NEW,
        			 listener));

       			 
        bar.add(createButton(CADResource.getString("menuitem.openfile.label"),
        			 CADResource.getString("menuitem.openfile.tooltip"),
        			 "general/open16",
       			   	 CADResource.getChar("menuitem.openfile.mnemonic"),
        			 ActionConst.CMD_FILE_OPEN,
        			 listener));

       			 
        bar.add(createButton(CADResource.getString("menuitem.savefile.label"),
        			 CADResource.getString("menuitem.savefile.tooltip"),
        			 "general/save16",
       			   	 CADResource.getChar("menuitem.savefile.mnemonic"),
        			 ActionConst.CMD_FILE_SAVE,
        			 listener));


        bar.add(createButton(CADResource.getString("menuitem.printpreview.label"),
        			   CADResource.getString("menuitem.printpreview.tooltip"),
        			   "general/PrintPreview16",
        			   CADResource.getChar("menuitem.printpreview.mnemonic"),
        			   ActionConst.CMD_FILE_PRINTPREVIEW,
        			   listener));
    }


    /**
     *  add graph drawing buttons to a ToolBar
     */	    
    public void addGraphDrawButtons(JToolBar bar, ActionListener listener){
        bar.add(createButton(CADResource.getString("menuitem.graph.pick.label"),
        			 CADResource.getString("menuitem.graph.pick.tooltip"),
        			 "graph/pick16",
       			   	 CADResource.getChar("menuitem.graph.pick.mnemonic"),
        			 ActionConst.CMD_GRAPH_PICK,
        			 listener));
        bar.add(createButton(CADResource.getString("menuitem.graph.drawline.label"),
        			 CADResource.getString("menuitem.graph.drawline.tooltip"),
        			 "graph/line16",
       			   	 CADResource.getChar("menuitem.graph.drawline.mnemonic"),
        			 ActionConst.CMD_GRAPH_DRAWLINETRIGGER,
        			 listener));
        bar.add(createButton(CADResource.getString("menuitem.graph.drawrect.label"),
        			 CADResource.getString("menuitem.graph.drawrect.tooltip"),
        			 "graph/rectangle16",
       			   	 CADResource.getChar("menuitem.graph.drawrect.mnemonic"),
        			 ActionConst.CMD_GRAPH_DRAWRECTTRIGGER,
        			 listener));
        bar.add(createButton(CADResource.getString("menuitem.graph.drawellipse.label"),
        			 CADResource.getString("menuitem.graph.drawellipse.tooltip"),
        			 "graph/Ellipse16",
       			   	 CADResource.getChar("menuitem.graph.drawellipse.mnemonic"),
        			 ActionConst.CMD_GRAPH_DRAWELLIPSETRIGGER,
        			 listener));
        bar.add(createButton(CADResource.getString("menuitem.graph.drawpolygon.label"),
        			 CADResource.getString("menuitem.graph.drawpolygon.tooltip"),
        			 "graph/Polygon16",
       			   	 CADResource.getChar("menuitem.graph.drawpolygon.mnemonic"),
        			 ActionConst.CMD_GRAPH_DRAWPOLYGONTRIGGER,
        			 listener));
        bar.add(createButton(CADResource.getString("menuitem.graph.drawimage.label"),
        			 CADResource.getString("menuitem.graph.drawimage.tooltip"),
        			 "graph/Image16",
       			   	 CADResource.getChar("menuitem.graph.drawimage.mnemonic"),
        			 ActionConst.CMD_GRAPH_DRAWIMAGE,
        			 listener));
        			 
	
	bar.addSeparator();
        bar.add(createButton(CADResource.getString("menuitem.graph.drawtext.label"),
        			 CADResource.getString("menuitem.graph.drawtext.tooltip"),
        			 "graph/Text16",
       			   	 CADResource.getChar("menuitem.graph.drawtext.mnemonic"),
        			 ActionConst.CMD_GRAPH_DRAWTEXT,
        			 listener));
	addTextAlignmentButtons(bar,listener);
    }


    /**
     *  add layer processing buttons to a ToolBar
     */	    
    public void addLayerButtons(JToolBar bar, ActionListener listener){

	layerTextField	=new JTextField(JFLayer.LAYER_NAME_DEFAULT);
	layerTextField.setFont(GUIConst.FONT_LABEL);
	Dimension layerTextSize	=new Dimension(60,25);
	layerTextField.setMinimumSize(layerTextSize);
        layerTextField.setPreferredSize(layerTextSize);
	layerTextField.setMaximumSize(layerTextSize);
	layerTextField.setEditable(false);
	bar.add(layerTextField);
	

	///* trial version
        bar.add(createButton(CADResource.getString("menuitem.layers.label"),
        			 CADResource.getString("menuitem.layers.tooltip"),
        			 "general/layer16",
       			   	 CADResource.getChar("menuitem.layers.mnemonic"),
        			 ActionConst.CMD_GRAPH_LAYERS,
        			 listener));
        //*/
    }


    /**
     *  add graph processing buttons to a ToolBar
     */	    
    public void addGraphProcessButtons(JToolBar bar, ActionListener listener

⌨️ 快捷键说明

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