我想使用双x和双y翻译矩形2D。看来rectangle2D不支持translate方法。什么是适当的使用方法?
答案 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
的自编程。