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

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
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

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