Как определить, что несколько методов завершились? [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как определить, что несколько методов завершились? [закрыто]

Сообщение Anonymous »

Я пытаюсь перемешать некоторые изображения на экране, но я пытаюсь перетасовать все изображения одновременно. Все изображения представляют собой разные JFrames, потому что это был единственный способ разместить все изображения в отдельных окнах.
Сейчас каждый метод перемещения выполняется одновременно. вызывая дикие глюки и мигания. Есть ли способ заставить его выполнять каждый блок по одному?
Это мой код:

Код: Выделить всё

public static void move(JFrame frame, int deltaX, int deltaY, int iSpeed) {
int xMoveBy = (deltaX > 0 ? 4 : -4)*iSpeed;
int yMoveBy = (deltaY > 0 ? 4 : -4)*iSpeed;

int targetX = frame.getX() + deltaX;
int targetY = frame.getY() + deltaY;

Timer timer = new Timer(40, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int frameX = frame.getX();
int frameY = frame.getY();
if (deltaX > 0) {
frameX = Math.min(targetX, frameX + xMoveBy);
} else {
frameX = Math.max(targetX, frameX - xMoveBy);
}
if (deltaY > 0) {
frameY = Math.min(targetY, frameY + yMoveBy);
} else {
frameY = Math.max(targetY, frameY - yMoveBy);
}

frame.setLocation(frameX, frameY);
if (frameX == targetX && frameY == targetY) {
((Timer)e.getSource()).stop();
}
}
});
timer.start();
}
И я вызываю это в этой части моего кода.

Код: Выделить всё

//Set position
move(Key1, iPosAx, iPosAy, 100);
move(Key2, iPosBx, iPosBy, 100);
move(Key3, iPosCx, iPosCy, 100);
move(Key4, iPosDx, iPosDy, 100);
move(Key5, iPosEx, iPosEy, 100);
move(Key6, iPosFx, iPosFy, 100);
move(Key7, iPosGx, iPosGy, 100);
move(Key8, iPosHx, iPosHy, 100);

//Shuffle 1
move(Key1, iPosBx, iPosBy, 10);
move(Key2, iPosCx, iPosCy, 10);
move(Key3, iPosDx, iPosDy, 10);
move(Key4, iPosEx, iPosEy, 10);
move(Key5, iPosFx, iPosFy, 10);
move(Key6, iPosGx, iPosGy, 10);
move(Key7, iPosHx, iPosHy, 10);
move(Key8, iPosAx, iPosAy, 10);

//Shuffle 2
move(Key1, iPosFx, iPosFy, 10);
move(Key2, iPosGx, iPosGy, 10);
move(Key3, iPosHx, iPosHy, 10);
move(Key4, iPosAx, iPosAy, 10);
move(Key5, iPosBx, iPosBy, 10);
move(Key6, iPosCx, iPosCy, 10);
move(Key7, iPosDx, iPosDy, 10);
move(Key8, iPosEx, iPosEy, 10);
(Да, я знаю, что не нужно так много переменных, я просто ленив, и это личный проект)

Подробнее здесь: https://stackoverflow.com/questions/785 ... e-finished
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»