Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Java JOptionPane не работает в подпроцессе


Рекомендуемые сообщения

На днях решил написать универсальный подпроцесс, который бы занимался отображением и логгингом сообщений. Но не тут то было: попытки использовать в подпроцессе JOptionPane просто игнорируются, то есть не вылетает никаких ошибок, как будто данная инструкция просто отсутствует в программе.

В главном процессе окна сообщений отображаются корректно.

Создается ощущение, что в процессе сигнал на отображение окна сообщения передается корректно, но потом игнорируется в ОС.

Является ли это казусом JOptionPane, или некорректной интерпретацией ОС, и нашел ли кто как это исправить?

Ссылка на комментарий
Поделиться на другие сайты

Начиная с 7-ки частенько системное окошко появляется сзади текущего! То есть не не работает, а не видно за текущим окном.

Проверяется alt-Tab ом.

Или ещё проще - установлением небольшого текущего окна сбоку от центра, чтобы был виден рабочий стол в центре. Это для проверки только, само собой.

 

Можно ещё попробовать указать родительское окно для диалога

JOptionPane.setRootFrame(frame);

Изменено пользователем Teddy_Bear
Ссылка на комментарий
Поделиться на другие сайты

Вот урезанный пример подпроцесса:

public class Messageshow {    /**     * @param args the command line arguments     */    public static void main(String[] args) {        String message="";        String temp="";        Scanner sc = new Scanner(System.in);                        while(true)        {            temp = sc.nextLine();                                    if("$X$".equals(temp))            {                JOptionPane.showMessageDialog(null, message);                System.exit(0);            }                                            message+=temp;                message+="\r\n";                                }                    }    }

 

 

 

Начиная с 7-ки частенько системное окошко появляется сзади текущего! То есть не не работает, а не видно за текущим окном.

 

Да в том то и дело что оно просто не появляется!

 

Кстати попробовал то же методами SWT, SWT MessageBox также работает, но окно также не появляется!

 

Отсюда делаю вывод что это казусы ОС.

Но тогда не понятно другое: почему при запуске процесса из IDE все отображается, а при запуске из другого процесса нет.

Изменено пользователем LifeOnNet
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...