java翻译矩形2D

java翻译矩形2D,java,translate,Java,Translate,我想用双x和双y平移一个二维矩形。矩形2D似乎不支持translate方法。什么是合适的使用方法?您必须将旧的Graphics变量转换为Graphics2D,该变量具有双重方法。通常使用双参数 @Override public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; g.translate(3.0, 4.0); 双矩形在Graphics2D中不可用(如drawRect)。但是,它们可以作为java.awt

我想用双x和双y平移一个二维矩形。矩形2D似乎不支持translate方法。什么是合适的使用方法?

您必须将旧的
Graphics
变量转换为
Graphics2D
,该变量具有双重方法。通常使用双参数

@Override
public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    g.translate(3.0, 4.0);

双矩形在Graphics2D中不可用(如
drawRect
)。但是,它们可以作为
java.awt.geom.Rectangle2D.Double

用于自己的编程,如果您需要它保持矩形2D,您可能需要编写自己的自定义方法,只添加到x和y

也可以使用仿射变换形式执行任意变换,但这会将其转换为通用形状(因为该变换可能使其不再为矩形)


对于所有操作,请查看更多信息,少量代码有助于消除问题中的任何歧义。您是指java.awt.geom.Rectangle2D.Double对象吗?有什么原因不能简单地添加到X或Y值?不太清楚你在问什么。
AffineTransform at = AffineTransform.getTranslateInstance(tx, ty);
Shape transformed = at.createTransformedShape(rectangle);