Скажем, у меня есть простой JFrame с JTabbedPane, содержащий 3 панели, а вторая панель содержит JComponent. Можно ли уведомлять JComponent, когда панель «Tab 2» удалена из контейнера? Моя проблема в том, что JComponent может быть глубоко в иерархии.Есть ли способ получить уведомление, когда JComponent не отображается больше? Beucase parent удален из коллекции?
Очевидно, что я ищу SWING решение здесь ... :)
,'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''`.
| |
| ,----------Y....................... |
| | Tab 1 | Tab 2 | Tab 3 | |
| :..........: :..................................... |
| | | |
| | | |
| | | |
| | +--------------------+ | |
| | |Some JComponent here| | |
| | +--------------------+ | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| `-----------------------------------------------------------' |
`-----------------------------------------------------------------
Я пытался сделать это с ancestorRemoved(), но не повезло ... Я не я, очевидно, делает что-то неправильно .. .
PS. Искусство ASCII сделано с JavE.
Ну, этот сценарий можно обработать с помощью 'ancestorRemoved()'. Компонент получит это событие, когда пользователь выбирает какой-либо другой дочерний JTabbedPane. Проблема в том, что дочерний элемент JTabbedPane, содержащий компонент, удаляется ... Похоже, что единственный способ быть уведомляется об этом с помощью ContainerListener или адаптера ... – DejanLekic
Спасибо mKorbel, мне нужен был HierarchyListener для случая, когда пользователь удаляет панель. :) – DejanLekic