[RESOLVIDO]Swing - JTabbedPane, adicionar um evento ao trocar de aba

Boa noite galera, tudo em paz? Vamos ver quem me ajuda nessa rss…

Tenho uma JTabbedPane com duas abas, e tenho um método especifico que de ve ser executado quando o usuário está na primeira aba e troca para a segunda aba.

Tentei usar um focusGained no panel da segunda aba, mas não deu, eu precisava de algo ao trocar de aba mesmo, mas não achei nenhum evento ou não soube como manipula-lo corretamente

PS:Usei stateChange mas ele executa o método logo que abre a tela, e não é o que eu quero.

No aguardo da sabedoria de vocês hehe…

Abraço.

Mas a única maneira de fazer o que você quer é realmente stateChanged.
Entretanto, você tem de saber o que está acontecendo.
Um exemplo de como se usa stateChanged (quero imprimir alguma coisa quando entrar no segundo tab, que é retornado pelo método ‘getPnlSales()’) :

	private JTabbedPane getTbpPanes() {
		if (tbpPanes == null) {
			tbpPanes = new JTabbedPane();
			tbpPanes.addTab("Customers", null, getPnlCustomers(), "Customer data");
			tbpPanes.addTab("Sales", null, getPnlSales(), "Sale data");
			tbpPanes.addChangeListener(new javax.swing.event.ChangeListener() {
			    public void stateChanged(javax.swing.event.ChangeEvent e) {
			        if (tbpPanes.getSelectedComponent() == getPnlSales()) {
			            System.out.println ("Entrou no painel 'Sales'");
			        }
			    }
			});
		}
		return tbpPanes;
	}

E ai entanglement, valeu pela resposta, resolveu pra mim com uma comparação mesmo…

apenas verifiquei se o componente selecionado da JTabbed era o componente que eu queria, se fosse true chamava o método.

Dessa forma ele ta chamando o método só quando troca pra aba especifica que era exatamente o que eu precisava…
ficou assim meu código.

private void tabPanelStateChanged(javax.swing.event.ChangeEvent evt) { if (tabPanel.getSelectedIndex() == 1){ recuperaCfop(); } }

Valeu, ótima dica, obrigado.