Jump to content
СофтФорум - всё о компьютерах и не только

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


Recommended Posts

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

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

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

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

Link to comment
Share on other sites

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

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

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

 

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

JOptionPane.setRootFrame(frame);

Edited by Teddy_Bear
Link to comment
Share on other sites

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

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 все отображается, а при запуске из другого процесса нет.

Edited by LifeOnNet
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...