jfoperationmovelabel.java
来自「用Java开发的、实现类似Visio功能的应用程序源码」· Java 代码 · 共 91 行
JAVA
91 行
/**
* $Id:JFOperationMoveLabel.java $
*
* Copyright 2004 ~ 2005 JingFei International Cooperation LTD. All rights reserved. *
*/
package com.jfimagine.jfgraph.shape.action;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import com.jfimagine.jfgraph.geom.JFPoint;
import com.jfimagine.jfgraph.shape.base.AbstractObject;
import com.jfimagine.jfgraph.shape.base.AbstractShape;
import com.jfimagine.jfgraph.shape.base.Label;
import com.jfimagine.jfgraph.shape.union.JFPage;
/**
* Class JFOperationMoveLabel is used to record a moveLabel operation.
*/
public class JFOperationMoveLabel extends JFOperation{
/**the offset of the label moved*/
private double m_xOffset=0;
private double m_yOffset=0;
/**
* Constructor.
* @param page A page that used to do opeation.
* @param obj The object has been moveed label(this object must be AbstractObject).
* @param xOffset the x offset of the label moved
* @param yOffset the y offset of the label moved.
*/
public JFOperationMoveLabel(JFPage page,Object obj,double xOffset, double yOffset){
m_page =page;
setActionId(JFOperation.OPER_MOVELABEL);
if (obj instanceof AbstractObject){
AbstractObject aObj =(AbstractObject)obj;
setObjectId(aObj.getObjectId());
m_xOffset =xOffset;
m_yOffset =yOffset;
}
}
/** undo this operation
* @return new objects selected
*/
public List undo(){
List objList =new ArrayList();
AbstractObject obj =getObject();
if (obj!=null){
AbstractShape aShape =(AbstractShape)obj;
Label aLabel =aShape.getLabel();
if (aLabel!=null && aLabel.getMovable()){
aLabel.moveBy(-1 * m_xOffset, -1 * m_yOffset);
}
objList.add(obj);
}
return objList;
}
/** redo this operation
* @return new objects selected
*/
public List redo(){
List objList =new ArrayList();
AbstractObject obj =getObject();
if (obj!=null){
AbstractShape aShape =(AbstractShape)obj;
Label aLabel =aShape.getLabel();
if (aLabel!=null && aLabel.getMovable()){
aLabel.moveBy(m_xOffset, m_yOffset);
}
objList.add(obj);
}
return objList;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?