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)