powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Переключения табов и события
3 сообщений из 3, страница 1 из 1
Переключения табов и события
    #39261825
Pane
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Есть панель JTabbedPane. На ней на разных вкладках находятся панельки. В первой вкладке находится JComboBox, при выборе значений из которого на этой вкладке появляются разные панельки. Мне нужно чтобы во второй вкладке можно было бы выбирать значение, а в первой вкладке из-за этого происходили некоторые изменения, причем только если выбрана конкретная панелька через JComboBox. Вопрос: на какое событие какого компонента можно повесить обработчик? Пробовал вешать componentShown на нужную панель первой вкладки, надеялся, что событие COMPONENT_SHOW происходит при переключении вкладок. Но оно не происходит.
...
Рейтинг: 0 / 0
Переключения табов и события
    #39261829
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не проще ли реагировать на смену таба?

protected ChangeListener changeListener
The changeListener is the listener we add to the model.
...
Рейтинг: 0 / 0
Переключения табов и события
    #39261844
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pane,

По-хорошему. Вам нужно изучить PropertyChangeListener и разделение GUI и данных, например MVVM.
Суть в том что GUI отображает вашу модель данных. События из GUI модифицируют данные. Модификация данных генерирует PropertyChangeEvent (нужно либо реализовать самому с PropertyChangeSupport либо использовать Binding)

И вы уже можете подписываться на эти PropertyChangeEvent, чтобы менять что-то в GUI.

Можно, конечно, и без этого наколбасить. Всё на событиях GUI, но тогда у вас и появляются вопросы типа этого, потому что вы не знаете как правильно одному контролу дать ссылку на другой контрол и где вообще хранить состояние.

Если вам просто не понятно как слушать JTabbedPane, то вот:
myTabbedPane.getModel().addChangeListener(() -> ...)

Ну, и совет по Swing - читайте исходный код J* контролов, он на много понятнее и компактнее документации.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Переключения табов и события
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]