Я командный шаблон для поворота и перевода фигур на Java Swing. Перевод и вращение работают хорошо по отдельности, но когда я делаю 60 градусов.вращение и затем перевод, перевод следуют за новой повернутой координатой.Что означает, что если я перетаскиваю мышь, форма перемещается с зазором в 60 градусов от вектора движения мыши, есть ли какое-то простое решение?пожалуйста, помогите, я ударю стену здесь
Мой метод выполнения для вращения
public void execute() {
System.out.println("command: rotate " + thetaDegrees );
Iterator iter = objects.iterator();
Shape shape;
while(iter.hasNext()){
shape = (Shape)iter.next();
mt.addMememto(shape);
AffineTransform t = shape.getAffineTransform();
t.rotate(Math.toRadians(thetaDegrees), shape.getCenter().x, shape.getCenter().y);
shape.setAffineTransform(t);
}
}
Мой метод выполнения для перевода
public void execute() {
Iterator iter = objects.iterator();
Shape shape;
while(iter.hasNext()){
shape = (Shape)iter.next();
mt.addMememto(shape);
AffineTransform t = shape.getAffineTransform();
System.out.println("Translation x :"+x + ", Translation y :"+y);
t.translate(x,y);
shape.setAffineTransform(t);
}
}
Любая помощь может бытьочень ценится