powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Есть ли в java аналог .NETовского Application.DoEvents
12 сообщений из 12, страница 1 из 1
Есть ли в java аналог .NETовского Application.DoEvents
    #37999394
YK13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.
Вопрос собственно в названии поста.
Погуглив ничего конкретного не нашел, в основном натыкался только на советы запускать процесс в отдельном Thread. Так как же все таки на самом деле?

С уважением
YK13
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #37999411
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте начнем с вопроса зачем он вам в Java?
И вообще о какой Java речь? Swing, SWT, JavaFX?
Вместо Thread, в Swing уже есть SwingWorker. Очень удобная утилита.
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #37999421
YK13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz Давайте начнем с вопроса зачем он вам в Java?

Ну за тем же зачем и в c#
В .NET DoEvents передает управление операционной системе и переходит в состояние ожидания, которое заканчивается, как только будет опустошена очередь сообщений. Это позволяет продвигаться другим процессам.
Поробуйте запустить какой нибудь длительный процесс с вызовами DoEvents и без них.
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #37999436
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YK13Ну за тем же зачем и в c#

Java это не C#. OK?

YK13В .NET DoEvents передает управление операционной системе и переходит в состояние ожидания, которое заканчивается, как только будет опустошена очередь сообщений.

SwingUtilities.invokeLater() - поставит код в очередь сообщений, так что все текущие сообщения сначала обработаются, а затем этот код. Причем в контексте Event Dispatch Thread.

YK13Это позволяет продвигаться другим процессам.
JVM это один процесс. Swing гуи работает с одним потоком - Event Dispatch Thread.

YK13Поробуйте запустить какой нибудь длительный процесс с вызовами DoEvents и без них.
Угу. Помчался.
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #37999470
YK13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz Java это не C#. OK? ..... Угу. Помчался.

Проведение аналогий помогает в изучении.
Я не являюсь специалистом в java и мой вопрос собственно к людям в более или менее одинаковой степени разбирающиеся в той и другой технологии. Если же вы таковым не являетесь то либо промолчите, либо ответьте нормально.
И если всетаки решили помочь не понимая того о чем человек спрашивает, так ведите нормальный диалог.
Ведь на форум люди обращаются за помощью, а не за тем чтобы посмотреть как кто либо блещет своим остроумием.
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #37999519
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YK13BlazkowiczJava это не C#. OK? ..... Угу. Помчался.

Проведение аналогий помогает в изучении.
Я не являюсь специалистом в java и мой вопрос собственно к людям в более или менее одинаковой степени разбирающиеся в той и другой технологии. Если же вы таковым не являетесь то либо промолчите, либо ответьте нормально.
И если всетаки решили помочь не понимая того о чем человек спрашивает, так ведите нормальный диалог.
Ведь на форум люди обращаются за помощью, а не за тем чтобы посмотреть как кто либо блещет своим остроумием.тебе нормально и очень пОлно ответили в контексте swing'а
ты не о swing'е? уточни. что тут за тебя кто-то чето должен додумывать что ты там имел в виду?
а люде вощето разные, не стоит по себе судить
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #37999785
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YK13И если всетаки решили помочь не понимая того о чем человек спрашивает, так ведите нормальный диалог.
Если пришел сюда тупо потрепаться, то для этого есть специальные форумы. По сути не на один наводящий вопрос выше не ответил. Значит тебе это не нужно.

YK13Ведь на форум люди обращаются за помощью, а не за тем чтобы посмотреть как кто либо блещет своим остроумием.
Добро пожаловать в интернет.
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #38001304
YK13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да видимо, вопрос не совсем понятен, раз такая неадекватная реакция.

BlazkowiczПо сути не на один наводящий вопрос выше не ответил

Я не ответил? Посмотри ка выше на свой комментарий к моему ответу на твой вопрос – зачем это нужно в Java.
Если тебе не понятен ответ так уточни, я обязательно отвечу более подробно.

Ладно, попробую пояснить, что я имею ввиду. Итак предположим ты запустил какой то длительный процесс. Например какой то цикл, каждая итерация которого что нибудь создает, вычисляет итд. (ну вобщем очень долго). Так вот в .NET если во время каждой итерации ты не будешь вызывать Application.DoEvents ты просто вообще ничего не сможешь сделать – пользовательский интерфейс вообще не будет реагировать, ты не сможешь ни на кнопку нажать, ни передвинуть окно приложения. Что конкретно делает метод DoEvents я писал выше. Еще раз говорю, что в java я не спец, но в силу ряда обстоятельств пришлось вот столкнуться. Поэтому и спрашиваю как эта проблема решается в java. Вот и всё.
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #38001312
YK13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczSwingUtilities.invokeLater() - поставит код в очередь сообщений, так что все текущие сообщения сначала обработаются, а затем этот код

Но из этого объяснения следует то же самое о чем я писал выше - обработаются все текущие сообщения, а потом будет обрабатываться цикл который я привел в качестве примера, а после него уже все сообщения которые появились в то время когда происходила работа цикла. Или что то я понял не так?
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #38001329
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YK13Но из этого объяснения следует то же самое о чем я писал выше - обработаются все текущие сообщения, а потом будет обрабатываться цикл который я привел в качестве примера, а после него уже все сообщения которые появились в то время когда происходила работа цикла. Или что то я понял не так?
DoEvents исключительно виндовый прибамбас, оставший в наследство от однопоточной Windows 3. Java многпоточна, если всё делать правильно, не надо никакого DoEvents и при этом интерфейс пользователя не будет ни зависать, ни притормаживать. А если делать неправильно то просто вообще работать не будет. Посмотри здесь примеры, позапускай их, почитай исходники. В них нет ничего похожего на остановку потока приложения, что бы в это время что-то там выполнила операционная система. Интерфейс пользователя работает в отдельном потоке.
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #38001336
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YK13Но из этого объяснения следует то же самое о чем я писал выше - обработаются все текущие сообщения, а потом будет обрабатываться цикл который я привел в качестве примера, а после него уже все сообщения которые появились в то время когда происходила работа цикла. Или что то я понял не так?


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
void actionPerformed(){
  //1
 SwingUtils.invokeLater(new Runnable{
void run(){
   //4
}});
  //2
}



Все эти DoEvents и прочите ухищрения необходимы из-за однопоточного подхода к UI. Это, надеюсь, очевидно?
Код выше показывает как раз исполнение в таком потоке, сначала 1, потом 2, потом все сообщения что накопились в очереди, потом 4.
Но, как я уже говорил в соседней теме, на практике этот метод не особо нужен. SwingWorker + Timer покрывают почти все задачи.
...
Рейтинг: 0 / 0
Есть ли в java аналог .NETовского Application.DoEvents
    #38001343
YK13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да теперь всё понятно. Большое спасибо всем откликнувшимся за помощь
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Есть ли в java аналог .NETовского Application.DoEvents
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]