Como abrir janela passando parâmetro em uma função [RESOLVIDO]
11 respostas
warquia
Boa tarde amigos, estou com uma duvida de como fazer uma função onde eu recebo o nome do form e ele abre.
isso porque to fazendo um Formulário Padrão para o sistema
Tentei fazer assim mais não deu certo.
public void abreform(JFrame novoForm) {
new novoForm().setVisible(true);
}
Ai tentei executar assim
Cara se você usar new irá abrir várias instâncias da mesma janela não vejo problema no código
porém acho que ajudaria talvez hein se fizesse assim :
JFrame tela = novoForm;
tela().setVisible(true);
warquia
diego_ms136:
Cara se você usar new irá abrir várias instâncias da mesma janela não vejo problema no código
porém acho que ajudaria talvez hein se fizesse assim :
JFrame tela = novoForm;
tela().setVisible(true);
Diego perfeito, agora só estou com um erro na chamada da funçãoabreform(principal);
Fica aparecendo um erro.
warquia
pmlm:
Porque new ???
public void abreform(JFrame novoForm) {
novoForm.setVisible(true);
}
pmlm Perfeito agora só estou com um erro na chamada da função
abreform(principal);
Fica aparecendo um erro.
E
entanglement
Qual é o erro?
warquia
cannot find symbol symbol: variable Principal
só que ele não e uma variável e sim um JFrame.
marcoacsilva
Você instanciou o objeto antes de passar como parâmetro? Ou está passando diretamente o JFrame?
O certo é:
Principal janela = new Principal();
abreform(janela);
Poste o código completo.
warquia
marcoacsilva:
Você instanciou o objeto antes de passar como parâmetro? Ou está passando diretamente o JFrame?
O certo é:
Principal janela = new Principal();
abreform(janela);
Poste o código completo.
Marco e quase isso, só queria fazer isso dentro da função instanciar e Abrir o form. E não instanciar fora dela… Muito obrigado pela força!
marcoacsilva
Bom…dessa maneira acredito que seja inviável. E até não faz sentido.
Se tu precisa chamar a janela e instanciar em um método, não é mais facil chamála direto?
Ou então, instancie o objeto dentro do argumento:
abreform(newPrincipal());
Eu não entendi muito bem se é isso que você quer.
Você estará fazendo o mesmo que instanciar um objeto do JFrame Principal e dar um setVisible(true) nele, só que do jeito difícil.
warquia
marcoacsilva:
Bom…dessa maneira acredito que seja inviável. E até não faz sentido.
Se tu precisa chamar a janela e instanciar em um método, não é mais facil chamála direto?
Ou então, instancie o objeto dentro do argumento:
abreform(newPrincipal());
Eu não entendi muito bem se é isso que você quer.
Você estará fazendo o mesmo que instanciar um objeto do JFrame Principal e dar um setVisible(true) nele, só que do jeito difícil.
Cara perfeito, 100%.
Muito obrigado Marco e a todos que me deu essa forçinha
marcoacsilva
Ótimo então. Coloque [RESOLVIDO] no titulo do post. Abraço.