Painéis seleccionados no jTabbedPane

Queria aplicar uma lógica mais ñ está dando certo…

um

jTabbedPane que tem vários Painéis 1,2,3,4,5 e 6.

if (1.isRequestFocusEnabled()){
   acao(); 
}
else if (2.isRequestFocusEnabled()){
  acao(); 
}

só que a execução entra no primeiro isRequestFocusEnabled como se todos já estivessem em foco.
como botar a lógica de forma que a aba seleccionada no jTabbedPane entre nos if.

Sim, pq esse método apenas indica que esse painel está habilitado a receber o foco.
Não que ele tem o foco.

Para obter o índice da tab selecionada, use o método getSelectedIndex().
http://java.sun.com/docs/books/tutorial/uiswing/components/tabbedpane.html

int indice = tabbedPane.getSelectedIndex();
if (indice == 1) {
   acao();
} else if (indice == 2) {
   outraAcao();
}[/code]

Outra opção é fazer seus paineis implementarem uma interface (como ActionPanel):

[code]public interface ActionPanel {
   void acao();
}

E, no lugar do if, fazer simplesmente:

ActionPanel panel = (ActionPanel)tabbedPane.getSelectedComponent(); panel.acao();

[quote=ViniGodoy]Sim, pq esse método apenas indica que esse painel está habilitado a receber o foco.
Não que ele tem o foco.

Para obter o índice da tab selecionada, use o método getSelectedIndex().
http://java.sun.com/docs/books/tutorial/uiswing/components/tabbedpane.html

int indice = tabbedPane.getSelectedIndex();
if (indice == 1) {
   acao();
} else if (indice == 2) {
   outraAcao();
}[/code]

Outra opção é fazer seus paineis implementarem uma interface (como ActionPanel):

[code]public interface ActionPanel {
   void acao();
}

E, no lugar do if, fazer simplesmente:

ActionPanel panel = (ActionPanel)tabbedPane.getSelectedComponent(); panel.acao();
[/quote]
Blz cara !
agora intendo 8)