Вы вращаете графику для рисования на вашем изображении, а не на изображении.Вот почему вы не видите эффекта.Примените вращение к графике, на которой вы рисуете, и оно будет рисовать повернутое изображение:
public void paintComponent(Graphics g) {
g.clearRect(0, 0, getWidth(), getHeight());
g.rotate(Math.toRadians(rotation), img.getWidth() / 2, img.getHeight() / 2);
g.drawImage(img, imgx, imgy, null);
this.repaint();
}
Это, вероятно, будет отображать не совсем то, что вы ожидаете, вращение будет вращаться вокруг начала координат.Чтобы изображение вращалось вокруг его центра, перед поворотом необходимо применить перемещение координат, например:
g.translate(imgx >> 1, imgy >> 1);
В учебнике Graphics2D есть еще несколько примеров.