【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:Component2D.java绩等信息,祝愿广大网友取得需要的信息,参考学习。
import java.awt.*;
import java.awt.geom.*;
// 创建可视化组件的基类
public abstract class Component2D extends Object
{
// 容纳组件外观的ImageGroup
protected ImageGroup group;
// 组件的大小
protected int frameWidth;
protected int frameHeight;
// 组件的位置和边界,以及缓存的变换
protected Vector2D pos;
protected Rectangle2D bounds;
protected AffineTransform xform;
// 组件是否可视是否可用的标记
protected boolean enabled;
protected boolean visible;
// 跟踪组件的内部状态
protected int state;
// 用默认的属性创建一个新的Component2D对象
protected Component2D()
{
pos = new Vector2D.Double();
xform = new AffineTransform();
setEnabled(true);
setVisible(true);
bounds = new Rectangle2D.Double();
frameWidth = 0;
frameHeight = 0;
state = 0;
}
// 使用传入的Graphics2D容器绘制组件
public abstract void paint(Graphics2D g2d);
// 在给定的偏移位置绘制组件
public abstract void paint(Graphics2D g2d, double dx, double dy);
// 更新组件内部的变换
public void update()
{
xform.setToTranslation(pos.getX(), pos.getY());
}
// 更新组件的边界矩形
public void updateBounds()
{
if(frameWidth <= 0 && group != null)
{
frameWidth = group.getFrameWidth();
}
if(frameHeight <= 0 && group != null)
{
frameHeight = group.getFrameHeight();
}
bounds.setRect(pos.getX(), pos.getY(), frameWidth, frameHeight);
}
// 返回一个描述组件的String
public String toString()
{
// 输出类名合当前位置
return getClass().getName() + ": " + pos.toString();
}
// 主要属性的访问方法
public void setEnabled(boolean e)
{
enabled = e;
}
public final boolean isEnabled()
{
return enabled;
}
public final void setVisible(boolean v)
{
visible = v;
}
public final boolean isVisible()
{
return visible;
}
public final void setX(double px)
{
pos.setX(px);
}
public final void setY(double py)
{
pos.setY(py);
}
public final double getX()
{
return pos.getX();
}
public final double getY()
{
return pos.getY();
}
public final void setPos(int x, int y)
{
pos.setX(x);
pos.setY(y);
}
public final void setPos(double x, double y)
{
pos.setX(x);
pos.setY(y);
}
public final void setPos(Vector2D v)
{
pos.setX(v.getX());
pos.setY(v.getY());
}
public final Vector2D getPos()
{
return pos;
}
public Rectangle2D getBounds()
{
return bounds;
}
} // Component2D
上一篇:
Component.java
下一篇:
建筑劳动毕业论文提纲格式