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

📄 eventfactory.java

📁 用Java开发的、实现类似Visio功能的应用程序源码
💻 JAVA
字号:
/**
 *    $Id:EventFactory.java $
 *
 *    Copyright 2004 ~ 2005  JingFei International Cooperation LTD. All rights reserved. *
 */
package com.jfimagine.jfdraw.draw;


import com.jfimagine.jfdraw.draw.AbstractDrawEvent;
import com.jfimagine.jfdraw.draw.DrawLine;
import com.jfimagine.jfdraw.draw.DrawRect;
import com.jfimagine.jfdraw.draw.DrawText;
import com.jfimagine.jfdraw.draw.DrawImage;
import com.jfimagine.jfdraw.draw.DrawRegularLine;

import com.jfimagine.jfgraph.shape.base.ShapeConst;

import com.jfimagine.jfdraw.gui.DrawCanvas;

 
 /**
 * Event factory class. This class used to create draw event object by specified shape type.
 *
 * @author     CookieMaker    
 *
 * @version $Revision: 1.00 $
 */  
 public class EventFactory {

 	/** A Drawing line event object */
    	private static DrawLine m_drawLine=new DrawLine(); 	

 	/** A Drawing rectangle event object */
    	private static DrawRect m_drawRect=new DrawRect(); 	

 	/** A Drawing text event object */
    	private static DrawText m_drawText=new DrawText(); 	

 	/** A Drawing image event object */
    	private static DrawImage m_drawImage=new DrawImage(); 	

 	/** A Drawing regular line event object */
    	private static DrawRegularLine m_drawRegularLine=new DrawRegularLine(); 	



    	/** Constructor */
    	private EventFactory(){
    	}

	/** get specified event processing object by shape type
	 *  @param shapeType A shape type that currently to be processed.
	 */
	public static AbstractDrawEvent getEvent(int shapeType,DrawCanvas drawCanvas){
		AbstractDrawEvent drawEvent	=null;
		switch (shapeType){
			case ShapeConst.SHAPETYPE_LINE:
			case ShapeConst.SHAPETYPE_POLYGON:
				drawEvent	=m_drawLine;
				break;
			case ShapeConst.SHAPETYPE_RECT:
			case ShapeConst.SHAPETYPE_RECT_ROUNDED:
			case ShapeConst.SHAPETYPE_RECT_DIAMOND:
			case ShapeConst.SHAPETYPE_RECT_PARALLELOGRAM:
			case ShapeConst.SHAPETYPE_RECT_TRAPEZOID:
			case ShapeConst.SHAPETYPE_RECT_ISOSCELESTRAPEZOID:
			case ShapeConst.SHAPETYPE_ELLIPSE:
			case ShapeConst.SHAPETYPE_ISOSCELESTRIANGLE:
			case ShapeConst.SHAPETYPE_HEXAGON:
			case ShapeConst.SHAPETYPE_LABELLINE:
			case ShapeConst.SHAPETYPE_VLABELLINE:
			case ShapeConst.SHAPETYPE_HLABELLINE:
			case ShapeConst.SHAPETYPE_ARC:
			case ShapeConst.SHAPETYPE_CHORD:
			case ShapeConst.SHAPETYPE_PIE:
			case ShapeConst.SHAPETYPE_CURVE:
				drawEvent	=m_drawRect;
				break;
			case ShapeConst.SHAPETYPE_TEXT:
				drawEvent	=m_drawText;
				break;
			case ShapeConst.SHAPETYPE_IMAGE:
				drawEvent	=m_drawImage;
				break;
			case ShapeConst.SHAPETYPE_REGULARLINE:
				drawEvent	=m_drawRegularLine;
				break;
		}	
		
		if (drawEvent!=null)
			drawEvent.setDrawCanvas(drawCanvas);
			
		return drawEvent;		
	}
 }


⌨️ 快捷键说明

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