Я добавляю пользовательский компонент к JTabbedPane
. Заголовок вкладки определяется в компоненте getName()
. Теперь в какой-то момент результат getName()
изменяется, но заголовок вкладки не обновляется автоматически (как и следовало ожидать). Как я могу это сделать?Обновить имя вкладки из результата getName()
3
A
ответ
3
Каждый раз, когда имя вашего компонента изменено, оно может вызывать PropertyChangeEvent
. Когда компонент добавлен в панель с вкладками, вы можете добавить PropertyChangeListener
к компоненту, прослушивая изменения его свойства name
и соответствующим образом обновив название вкладки.
Не забудьте удалить прослушиватель, когда компонент удален с панели вкладок.
"и соответственно обновить название вкладки." - Что я должен называть? Я никогда не называю 'setTitleAt()' на панели прямо сейчас, но сама панель вызывает 'getName()' на компоненте. Конечно, я мог бы просто называть 'setTitleAt()', но это правильно? –
Ничего, я посмотрел на источник с вкладками. Он просто вызывает 'getName()' один раз, добавляя вкладку, и никогда после этого, поэтому мне кажется, что я просто должен использовать 'setTitleAt()'. –
@Bart van Heukelom Я тоже это видел, но я потерял связь и забыл о ***, но эта проблема была Look and Feel rellated, – mKorbel