Вы смотрели учебник по Java под названием Как использовать внутренние рамки ?В вашем коде вам нужен InternalFrameListener
( API ) ( Tutorial ) и прослушивание для активации / деактивации событий.Активированный означает, что внутренняя рамка была доведена до вершины;деактивированный означает, что он больше не на вершине.Поскольку JDesktopPane
расширяет JLayeredPane
, вы также можете установить z-порядок добавляемых к нему компонентов.
Не перебирайте все панели - используйте события.
Если по какой-то причине вы предпочитаете опрашивать свой пользовательский интерфейс, а не использовать управляемый событиями подход, вы можете вызвать getSelectedFrame
, который возвращаетактивный JInternalFrame
.Я не уверен, почему никто другой не упомянул это.