Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как заставить программу не выполнять ничего некоторое время (Java)?  (Прочитано 10987 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« : 17-03-2009 08:54 » 

У меня на форме переносятся кольца ханойской башни. Но все происходит мгновенно. Мне нужно, чтоб после каждого переноса кольца програма приостановилась на 1 сек. Как это делается в Java?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 17-03-2009 09:14 » 

А как насчёт не плодить темы?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Asver
Постоялец

by
Offline Offline
Пол: Мужской

« Ответ #2 : 17-03-2009 09:22 » 

Код:
Thread.sleep(1000);
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #3 : 17-03-2009 09:56 » 

А как насчёт не плодить темы?
Извините, очень нужно сейчас...
Код:
Thread.sleep(1000);
Пробовал, прога застывает до конца выполнения цыкла, но результат на форму не выводит
Записан
Asver
Постоялец

by
Offline Offline
Пол: Мужской

« Ответ #4 : 17-03-2009 11:19 » 

Приведи код, в котором это происходит.
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #5 : 31-05-2009 22:44 » 

Решил не создавать новую туму, когда уже существует тема по Thread'ам...  Улыбаюсь

Код:
class Moving extends Thread {
        public Moving() { super("Mov"); }

        @Override public void run() {
            try {
                Thread.sleep(700);
            } catch(InterruptedException e) {}
            repaint();
            move();
        }
}
Потом пишу:
Код:
...
Moving m = New Moving();
m. run();
Но задержка в 700 мс происходит только раз (это видно по repaint()), вначале, а потом работает беспрерывно (без задержек). Почему? Разве задержка не должна применяться каждый раз? Как это он выборочно выполняет код?
Записан
Asver
Постоялец

by
Offline Offline
Пол: Мужской

« Ответ #6 : 01-06-2009 06:14 » 

По-моему метод run() выполняется всегда только один раз, после чего поток завершается. Если надо больше - делай цикл.
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #7 : 01-06-2009 16:16 » 

Почему же окно беспрерывно моргает?
Записан
Asver
Постоялец

by
Offline Offline
Пол: Мужской

« Ответ #8 : 02-06-2009 06:21 » 

Выложи весь код, может станет понятней
Записан
Dr.Yevhenius
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #9 : 29-10-2009 12:40 » 

Все верно - ошибка в коде. Где именно - не знаю, та это уже и не важно: та программа больше не нужна. После этого много раз работал с Thread, Thread.sleep(), и никаких проблем не возникало. Так что извините за ненужную тему Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines