Изображение, которое качается:

Код: Выделить всё
public void paintComponent(Graphics g) {
// if no image set, then just draw a rectangle
if (sprite == null) {
g.setColor(c);
g.fillRect(0, 0, (int) getBounds().getWidth(), (int) getBounds().getHeight());
} else {
try {
AffineTransform at = new AffineTransform();
if (spriteAngle != 0) {
at.rotate(spriteAngle, getWidth() / 2, getHeight() / 2);
}
at.scale(getWidth() * 1.0 / sprite.getWidth(), getHeight() * 1.0 / sprite.getHeight());
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(sprite, at, null);
} catch (Exception e) {
g.drawImage(sprite, 0, 0, getWidth(), getHeight(), this);
}
}
}
Изображение находится только в правом нижнем углу, поэтому оно всегда находится в границах:

однако это не работает, так как мне нужно увеличивать длину изображения с течением времени.
Подробнее здесь: https://stackoverflow.com/questions/785 ... sformation