2012-02-29 2 views
3

Я добавляю пользовательский компонент к JTabbedPane. Заголовок вкладки определяется в компоненте getName(). Теперь в какой-то момент результат getName() изменяется, но заголовок вкладки не обновляется автоматически (как и следовало ожидать). Как я могу это сделать?Обновить имя вкладки из результата getName()

ответ

3

Каждый раз, когда имя вашего компонента изменено, оно может вызывать PropertyChangeEvent. Когда компонент добавлен в панель с вкладками, вы можете добавить PropertyChangeListener к компоненту, прослушивая изменения его свойства name и соответствующим образом обновив название вкладки.

Не забудьте удалить прослушиватель, когда компонент удален с панели вкладок.

+0

"и соответственно обновить название вкладки." - Что я должен называть? Я никогда не называю 'setTitleAt()' на панели прямо сейчас, но сама панель вызывает 'getName()' на компоненте. Конечно, я мог бы просто называть 'setTitleAt()', но это правильно? –

+0

Ничего, я посмотрел на источник с вкладками. Он просто вызывает 'getName()' один раз, добавляя вкладку, и никогда после этого, поэтому мне кажется, что я просто должен использовать 'setTitleAt()'. –

+0

@Bart van Heukelom Я тоже это видел, но я потерял связь и забыл о ***, но эта проблема была Look and Feel rellated, – mKorbel

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

  • Нет связанных вопросов^_^