📄 eventfactory.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 + -