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

📄 svgeditor.java~1~

📁 完全基于java开发的svg矢量绘图工具
💻 JAVA~1~
📖 第 1 页 / 共 2 页
字号:
	 * @return the map containing the bounds of each widget in the main frame	 */	protected Map<String, Rectangle> getWidgetBoundsMap(){				Map<String, Rectangle> map=new Hashtable<String, Rectangle>();		Document doc=SVGResource.getXMLDocument("config.xml");				if(doc!=null){						Element root=doc.getDocumentElement();						if(root!=null){								//getting the node containing the nodes giving the bounds of the widgets in the main frame				Node cur=null, bounds=null;								for(cur=root.getFirstChild(); cur!=null; cur=cur.getNextSibling()){										if(cur instanceof Element && cur.getNodeName().equals("bounds")){												bounds=cur;						break;					}				}								if(bounds!=null){										//filling the map with the bounds					Rectangle rectBounds=null;					int x=0, y=0, width=0, height=0;					String name, strX, strY, strW, strH;					Element el=null;										for(cur=bounds.getFirstChild(); cur!=null; cur=cur.getNextSibling()){												if(cur instanceof Element && cur.getNodeName().equals("widget")){														el=(Element)cur;														//the name of the widget							name=el.getAttribute("name");														//getting each value of the bounds							strX=el.getAttribute("x");							strY=el.getAttribute("y");							strW=el.getAttribute("width");							strH=el.getAttribute("height");														x=0;							y=0;							width=0;							height=0;														try{								x=Integer.parseInt(strX);								y=Integer.parseInt(strY);								width=Integer.parseInt(strW);								height=Integer.parseInt(strH);							}catch (Exception ex){}														//creating the rectangle							rectBounds=new Rectangle(x, y, width, height);														//putting the bounds in the map							if(name!=null && ! name.equals("")){																map.put(name, rectBounds);							}						}					}				}			}		}				return map;	}		/**	 * @return the display type	 */	protected String getWindowDisplayType(){				String display="";				Document doc=SVGResource.getXMLDocument("config.xml");				if(doc!=null){						Element root=doc.getDocumentElement();						if(root!=null){								//getting the node containing the nodes giving the bounds of the widgets in the main frame				Node cur=null, displayNode=null;								for(cur=root.getFirstChild(); cur!=null; cur=cur.getNextSibling()){										if(cur instanceof Element && cur.getNodeName().equals("display")){												displayNode=cur;						break;					}				}								if(displayNode!=null){										display=((Element)cur).getAttribute("type");				}			}		}				return display;	}        /**     * closes all the opened svg files     */    public void closeAll() {                Object obj=null;                if(getSVGModuleLoader()!=null){                        obj=getSVGModuleLoader().getModule("SaveClose");        }                if(obj!=null){                        Class[] cargs={};            Object[] args={};                        try{                obj.getClass().getMethod("closeAllAction", cargs).invoke(obj,args);            }catch (Exception ex){}          }    }        /**     * saves the file of the given frame     * @param frame a frame     */    public void saveFrame(SVGFrame frame) {    	    	if(frame!=null) {    		    		//getting the save module            Object obj=null;                        if(getSVGModuleLoader()!=null){                                obj=getSVGModuleLoader().getModule("SaveClose");            }                        if(obj!=null){                            	//invoking the save action                Class[] cargs={SVGFrame.class, boolean.class, boolean.class};                Object[] args={frame, false, false};                                try{                    obj.getClass().getMethod("saveAction", cargs).invoke(obj,args);                }catch (Exception ex){ex.printStackTrace();}              }    	}    }        /**     * opens the      * @param path     */    public void openFile(final String path) {                SwingUtilities.invokeLater(new Runnable() {                        public void run() {                if(path!=null && ! path.equals("")) {                                        setVisible(true);                                        Object obj=moduleManager.getModule("NewOpen");                    File file=null;                                        try{file=new File(new URI(path));}catch (Exception ex){}                                        if(obj!=null){                                                Class[] cargs={File.class};                        Object[] args={file};                        try{                            obj.getClass().getMethod("open",cargs).invoke(obj,args);                        }catch (Exception e){}                      }                }            }        });    }		/**	 * @param name the name of a widget	 * @return the preferred bounds of a widget	 */	public Rectangle getPreferredWidgetBounds(String name){				Rectangle rect=null;				if(name!=null && ! name.equals("")){						try{				rect=widgetBounds.get(name);			}catch (Exception ex){rect=null;}		}				return rect;	}		/**	 * @return  the component into which all the panels containing the JScrollPanes will be placed	 */	public JComponent getDesktop(){		return desktop;	}		/**	 * @return the menubar	 */	public SVGMenuBar getMenuBar(){		return moduleManager.getMenuBar();	}		/**	 * @return the tool bar	 */	public SVGEditorToolbars getEditorToolBars(){		return moduleManager.getEditorToolBars();	}		/**	 * @return the popup manager	 */	public SVGPopup getPopupManager() {		return moduleManager.getPopupManager();	}		/**	 * @return Returns the resourceImageManager.	 */	public SVGResourceImageManager getResourceImageManager() {		return moduleManager.getResourceImageManager();	}		/**	 * @return the module loader	 */	public SVGModuleManager getSVGModuleLoader(){		return moduleManager;	}		/**	 * @return the toolkit object containing utility methods	 */	public SVGToolkit getSVGToolkit(){		return toolkit;	}		/**	 * @return the painter manager	 */	public static SVGColorManager getSVGColorManager(){		return moduleManager.getColorManager();	}		/**	 * @return the manager of the cursors	 */	public SVGCursors getCursors(){		return moduleManager.getCursors();	}		/**	 * @return an object of the class managing the resources	 */	public SVGResource getResource(){		return resource;	}		/**	 * used to call the same method on each module	 * @param method the method name	 * @param cargs an array of Class objects	 * @param args an array of objects	 */	public void invokeOnModules(String method, Class[] cargs, Object[] args){				Collection modules=moduleManager.getModules();		Iterator it=modules.iterator();		Object current=null;				while(it.hasNext()){						current=it.next();			try{								Method meth=current.getClass().getMethod(method,cargs);				//invokes the method on each instance contained in the map				meth.invoke(current,args);							}catch (Exception ex){}					}			}		/**	 * @return the collection of the shape modules	 */	public Collection getShapeModules(){				return moduleManager.getShapeModules();	}		/**	 * cancels all the actions that could be running and enables the regular selection mode 	 * if the boolean is true, disables it otherwise	 * @param enableRegularMode true to enable the regular selection mode	 */	public void cancelActions(boolean enableRegularMode){				//invokes the "cancelActions" on each module		Collection modules=getSVGModuleLoader().getModules();		SVGModule module=null;				for(Iterator it=modules.iterator(); it.hasNext();){						try{				module=(SVGModule)it.next();			}catch (Exception ex){module=null;}						if(module!=null){								module.cancelActions();			}		}				if(getSVGSelection()!=null){						getSVGSelection().setSelectionEnabled(enableRegularMode);		}				if(isMultiWindow()){						getEditorToolBars().cancelActions();		}	}		/**	 * @param name the name of the module	 * @return the module object	 */	public Object getModule(String name){		return moduleManager.getModule(name);	}		/**	 * @param name the name of the shape module	 * @return the shape module object	 */	public SVGShape getShapeModule(String name){		return moduleManager.getShapeModule(name);	}		/**	 * @return the static undoRedo module	 */	public SVGUndoRedo getUndoRedo(){		return undoRedo;	}		/**	 * @return the static selection module	 */	public SVGSelection getSVGSelection(){		return selection;	}	     /**	 * @return Returns the format.	 */	public static DecimalFormat getFormat() {		return format;	}	    /**	 * @return the format used when numbers have to be displayed	 */	public static DecimalFormat getDisplayFormat() {		return displayFormat;	}	/**     * exits the editor     */    public void exit(){                //saving the current state of the editor        editor.getResource().saveEditorsCurrentState();                if(isQuitActionDisabled()) {                        //hiding the editor's frame            setVisible(false);                    }else {                        //quitting the editor            //checks if some svg documents have been modified            boolean displayDialog=false;            Collection<SVGFrame> frames=new LinkedList<SVGFrame>(editor.getFrameManager().getFrames());                        if(frames!=null && frames.size()>0){                                for(SVGFrame frm : frames){                    if(frm!=null && frm.isModified()){                                                displayDialog=true;                        break;                    }                }               }                        boolean canExitEditor=canExitFromJVM;                        //if svg documents have been modified, display an alert dialog            if(displayDialog){                                String messageexit="", titleexit="";                if(bundle!=null){                                        try{                        messageexit=bundle.getString("messageexit");                        titleexit=bundle.getString("titleexit");                    }catch (Exception ex){}                }                                int returnVal=JOptionPane.showConfirmDialog(getParent(), messageexit, titleexit, JOptionPane.YES_NO_OPTION);                 canExitEditor=canExitEditor && returnVal==JOptionPane.YES_OPTION;            }            if(canExitEditor) {                            	//running the dispose runnables            	for(Runnable runnable : disposeRunnables){            		            		runnable.run();            	}            	                System.exit(0);            }        }    }        /**     * @return the svg editor     */    public static SVGEditor getSVGEditor() {    	    	return editor;    }}

⌨️ 快捷键说明

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