Есть какие-нибудь инструменты для Java, чтобы отслеживать события, которые произошли в приложении (нажатие кнопки, выбор элемента в JList, закрытие окна)?
Для JFrame - можно добавить подписчик addWindowListener, тем самым отслеживая состояние окна.
Для JButton - для обработки события нажатия подписчик добавляется addActionListener
Для JList - для подписки на событие выделения используем addListSelectionListener
Сборка персонального компьютера от Artline: умный выбор для современных пользователей