2014-08-28 4 views
0

Открываю окно с помощью ListView из меню. Когда я выбираю единственную и единственную строку, открывается новое окно.Событие выбора ListView запускается только один раз (JavaFX), почему?

Проблема заключается в том, что когда я закрываю это окно (и возвращаясь к предыдущему с помощью ListView) и снова нажимаю на строку ListView (которая по-прежнему синяя и, следовательно, выбрана), окно не открывается. Это похоже на то, что обработчик событий не фокусируется в этом окне. Я отправил sout в обработчик события, и он действительно вызван/запущен в первый раз.

Единственный способ снова открыть второе окно - закрыть первое окно и снова открыть его из меню. Затем щелкните по строке, и откроется второе окно (но это работает только в первый раз ...).

В чем может быть проблема?

С уважением, Рамон

ответ

1

Если вы присоединили обработчик событий (который открывает новое окно) на выбранном элементе или указательным имущества ListView, тогда это дизайн и должны вести себя так. Чтобы иметь возможность инициировать событие на выбранном элементе, вы можете реализовать пользовательский список, который обрабатывает события щелчка мыши.

+0

Спасибо, мне удалось решить проблему сейчас. Раньше я использовал ChangeListener на selectedItemProperty, что вызвало нежелательное поведение. Теперь я использую setOnMouseClicked с EventHandler вместо ChangeListener, и он работает по назначению :) – Ramon

Смежные вопросы