Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SWING и потоки?... показ окна из отдельного потока 
:(
    Опции темы
nucer
Дата 20.4.2009, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 21.6.2004
Где: Москва

Репутация: нет
Всего: 0



В общем решил я тут сделать программку на диплом на джаве, ну и делаю вывод ошибок таким вот способом:
Код

public static void error( Exception e )
{
    javax.swing.JOptionPane.showMessageDialog( null , e.getMessage() , "Ошибко!" , javax.swing.JOptionPane.ERROR_MESSAGE );
}


получилось что окошко с ошибкой останавливает выполнение всей программы пока юзер не кликнет ОК
Ну я не говорю про потоки, которые запущены уже до этого, а про, например, показ ошибки в одной из ниточек )
Ну думаю, раз нынче все многопоточно, то и я сделаю...
Переделал метод
Код

public static void error( Exception e )
{
    ErrorMessage er = new ErrorMessage( e );
    er.start();
}

сделал класс под это дело:
Код

public class ErrorMessage extends Thread
{
    public Exception e;
    
    public ErrorMessage( Exception exc )
    {
        e = exc;
    }
    
    public void run ()
    {
        System.out.println( "я вася" );
        javax.swing.JOptionPane.showMessageDialog( null , e.getMessage() , "Ошибко!" , javax.swing.JOptionPane.ERROR_MESSAGE );
    }
}


"и зачем тут System.out.println( "я вася" ) ?" спросит кто-нибудь, прочевший код ))
А затем, что "я вася" видно, а вот ОКОШКО - вообще никак ни под каким видом!
Что делать? )

наткнулся на SwingUtilities.invokeLater , стоит ли попробовать его заюзать (щас пока на работе рабтаю!)?
PM MAIL   Вверх
nucer
Дата 20.4.2009, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 21.6.2004
Где: Москва

Репутация: нет
Всего: 0



Кажется вот так вот работает!! smile 
Код

public static void error( Exception e )
    {
        SwingUtilities.invokeLater( new ErrorMessage( e ) );
    }

public class ErrorMessage implements Runnable
{
....
}

Что скажут мэтры свинга? ) Насколько это корректно? )
PM MAIL   Вверх
PashaOvechkin
Дата 20.4.2009, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 1.4.2007
Где: Riga, Latvia

Репутация: 1
Всего: 4



Помоему вполне нормальное решение.
Так же можно использовать  SwingWorkerы

Это сообщение отредактировал(а) PashaOvechkin - 20.4.2009, 17:14
PM MAIL Skype   Вверх
nucer
Дата 20.4.2009, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 21.6.2004
Где: Москва

Репутация: нет
Всего: 0



подергал тут его, судя по тому, что error из error вызывается и отобраажется вполне нормально - думаю все ок  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.1369 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.