Referência à classe externa a partir da classe interna

2 respostas
J

Perdoem-me se a dúvida é muito básica, mas gostaria de saber como acessar uma variável ou método de uma classe externa a partir de uma classe interna.
É que eu estou querendo acessar a tabbed ativa de um componente JTabbedPane através do método

, mas no Listener eu não consigo acessar o componente “abas” da classe externa.
Para resolver, eu criei uma variável de referência à instância da classe externa ClasseExtena() ref = this;
e no handler eu uso essa variável como referência, ref.abas.getSelectedIndex();
Mas parece-me que poderia ter uma saída mais “elegante”.
Alguém pode me dar uma luz?
Obrigado.

2 Respostas

R

Você poderia fazer assim:

public class Formulario { private JTabbedPane abas; public JTabbedPane getAbas() { return abas; } // ... Resto do código da classe do formulário ... }

public class OutraClasse { public void suaRotina(Formulario form) { JTabbedPane abas = form.getAbas(); int idx = abas.getSelectedIndex(); // ... Usar o valor contido em [idx] ... } }

J

Ok, roger_rf.
Obrigado!
Realmente ficou melhor.

Abraço!

Criado 4 de julho de 2011
Ultima resposta 4 de jul. de 2011
Respostas 2
Participantes 2