Problema serio com referencia

4 respostas
R

Fala galera…

tenho a seguinte estrutura no meu sistema…

Principal.java = tenho um JFrame q contem dentro um JDesktopPane, onde adiciono meus InternalFrame´s…
Rel.java = eh um JFrame q exibe meus relatorios, independente do Principal.java…

o q preciso:

  • fazer uma chamada de um metodo q estah em um InternalFrame q adicionei ao JDesktopPane, a partir desse JFrame q abriu com meu relatorio…

como faco essa referencia, sendo q as classes do relatorio e do ssitema estao em estruturas de arquivos diferentes??

todos meus arquivos .java extendem uma outra classe minha…portanto nenhum arquivo EXTENDS JFRAME…dentro deles eu crio meu JFram/JInternalFrame…

alguem pode ajudar??

valew

4 Respostas

mlopes

Ola,

se eu entendi bem, vc vai precisar manter uma referência:

1 - Ao internal frame ou
2 - ao desktop

Se vc puder pelo menos manter a refência do desktop já da pra fazer.

Mas a pergunta ainda é meio vaga… da pra explicar melhor, colocando código.

[]'s

R

entao…

mas como mantenho referencia ao internalFrame??
se fizer isso, resolvi o problema…

o codigo eh meio grande…vou colocar meus componentes…talvez ajude…

no Principal.java:

public static JFrame jfraPrincipal;

public static JDesktopPane jdkpPrincipal;

no Rel.java:
public JInternalFrame jfriRelatorio;

adiciono o InternalFrame ao jdkpPrincipal, assim:
jdkpPrincipal.add(Rel.jfriRelatorio);

qdo clico em um botao do jfriRelatorio, abre-se outro JFrame com meu relatorio…nesse JFrame, quero clicar num botao e chamar um metodo do arquivo Rel.java…

como??

mlopes

Bom,

Vc pode manter uma referencia statica no Rel.java e fazer um getter estatico

private static Rel euMesmo;

ou

fazer o método q vc quer acessar estatico.

Rel.meuMetodo();

é claro q há outras soluções… Mas acho q isso vai te dar idéias já.

[]'s

R

entao…
consegui fazer ele manter a referencia…

coloquei o metodo static e funcionou…

mas qdo fiz a chamada, ele deveria escrever algo, mas nao escreveu…

Criado 7 de fevereiro de 2003
Ultima resposta 7 de fev. de 2003
Respostas 4
Participantes 2