Из того, что я проверил в источниках JTabbedPane, метод fireStateChanged()
запускает событие изменения фокуса, если необходимо, до , вызывая фактическое событие stateChanged для слушателей.
Так что в теории это должно было случиться раньше. Однако, поскольку я не знаю, что происходит в вызываемом методе (SwingUtilities2.tabbedPaneChangeFocusTo(newComp)
), весьма вероятно, что событие перейдет в другой поток, связанный с управлением фокусом.
fireStateChanged()
- это защищенный метод, поэтому вы можете переопределить его в своем собственном JTabbedPane и убедиться, что поведение соответствует желаемому.
Укажите более подробную информацию о вашем фактическом случае использования, чтобы узнать, может ли быть более подходящее решение.