offsetlocator.java
来自「开源(Open Source)项目JHotDraw的文档和源程序」· Java 代码 · 共 73 行
JAVA
73 行
/*
* @(#)OffsetLocator.java 5.2
*
*/
package CH.ifa.draw.standard;
import java.awt.*;
import java.io.IOException;
import CH.ifa.draw.framework.*;
import CH.ifa.draw.util.*;
/**
* A locator to offset another Locator.
* @see Locator
*/
public class OffsetLocator extends AbstractLocator {
/*
* Serialization support.
*/
private static final long serialVersionUID = 2679950024611847621L;
private int offsetLocatorSerializedDataVersion = 1;
private Locator fBase;
private int fOffsetX;
private int fOffsetY;
public OffsetLocator() {
fBase = null;
fOffsetX = 0;
fOffsetY = 0;
}
public OffsetLocator(Locator base) {
this();
fBase = base;
}
public OffsetLocator(Locator base, int offsetX, int offsetY) {
this(base);
fOffsetX = offsetX;
fOffsetY = offsetY;
}
public Point locate(Figure owner) {
Point p = fBase.locate(owner);
p.x += fOffsetX;
p.y += fOffsetY;
return p;
}
public void moveBy(int dx, int dy) {
fOffsetX += dx;
fOffsetY += dy;
}
public void write(StorableOutput dw) {
super.write(dw);
dw.writeInt(fOffsetX);
dw.writeInt(fOffsetY);
dw.writeStorable(fBase);
}
public void read(StorableInput dr) throws IOException {
super.read(dr);
fOffsetX = dr.readInt();
fOffsetY = dr.readInt();
fBase = (Locator)dr.readStorable();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?