Как приостановить выполнение на X миллисекунд в AWT EventQueueJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как приостановить выполнение на X миллисекунд в AWT EventQueue

Сообщение Anonymous »

У меня есть игра, в которой я хочу засветить компонент красным цветом, а затем вернуть ему нормальный цвет. Если я установлю его на красный, а затем верну в нормальное состояние, вспышка произойдет слишком быстро. Очевидно, я мог бы просто использовать Thread.sleep(123), но это КРАЙНЕ нежелательно, потому что это нарушает работу моего пользовательского интерфейса. Кроме того, я почти уверен, что это не то, что мне следует здесь делать.
Теперь я мог бы просто приостановить очередь, а затем использовать SwingUtilities::invokeLater. Но я хотел бы попросить здесь изучить лучшие практики.
Как лучше всего добавить паузу определенной длины между событиями Swing/AWT?
Вот пример.
import javax.swing.*;
import java.awt.*;

public class cry {

public static void main(final String[] args) {

SwingUtilities.invokeLater(cry::blah);

}

private static void blah() {
final JFrame frame = new JFrame();
frame.setTitle("ABC");
frame.setLocationByPlatform(true);
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

try {
Thread.sleep(10_000); //sleep for 10 seconds
} catch (Exception e) {
throw new RuntimeException(e);
}

frame.setTitle("XYZ");
}

}



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

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

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

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

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

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

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