java翻译矩形2D

时间:2012-01-09 19:05:11

标签: java translate

我想使用双x和双y翻译矩形2D。看来rectangle2D不支持translate方法。什么是适当的使用方法?

2 个答案:

答案 0 :(得分:2)

如果你需要它来保持Rectangle2D,你可能必须编写自己的自定义方法,只添加到x和y。

您还可以使用AffineTransform执行任意转换,但这会将其转换为通用形状(因为该转换可能使其不再是矩形)。

AffineTransform at = AffineTransform.getTranslateInstance(tx, ty);
Shape transformed = at.createTransformedShape(rectangle);

答案 1 :(得分:0)

您必须将旧的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的自编程。