Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Простой вопрос по выводу вспомогательных окон


Автор: SySaD 4.2.2009, 16:28
проблема достаточно простая
просто не соображу в чем дело
в файле приложил каркас-схему как примерно работает все

pm - обработчик
ss - для обмена данных
gui - собственно графическая часть
и два диалога вспомогательные

диалоги висят слушателями на определенных полях
непосредственного взаимодействия между логикой и графической частью нет (прямых вызовов или ссылок)

при обработке в pm значения "4" вызывается диалог выбора параметров (тут для упрощения просто диалог с кнопкой) и пока не нажата кнопка (не выбраны какие то параметры) выполнение логики приостанавливается
если запустить пример (engine) видно что при нажатии кнопки "button" останавливается выполнение логики в pm, но и не отрисовывается сам вызванный диалог.

буду благодарен любым идеям - вполне возможно что просто уже вижу очевидного

спасибо заранее


Автор: vdim 6.2.2009, 00:39
Понятно, что диалог мешает отрисовать цикл while. (Не могу сказать почему, но предположу, что связано с особенностью работы потоков в яве) Что мешает выполнить "some action" в Ss.setChecked() для false?

Код

                //пока не нажата кнопка - ждем
                while (!Ss.getInstance().isChecked()) {}
                //продолжаем работу
                System.out.println("some action");

Автор: SySaD 6.2.2009, 08:30
Спасибо, загвоздка действительно была связана с потоком.

Вопрос немного изменился за прошедшее время. Кто может примерно рассказать как чаще всего в реальных проектах устраивают взаимодействие бизнес-логики с графической частью, желательно без прямых вызовов между логической частью и графической.

Автор: math64 6.2.2009, 09:14
Создаются класс Model (возможно, абстрактный) и интерфейс ModelListener, если необходимо ModelEvent. Графическая часть отображает изменения в модели.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)