Estou com o seguinte problema …
Tenho muitas opções de tela para abrir …
e NÃO quero usar este codigo …
new classecadastro1().setVisible(true);
new classecadas3442().setVisible(true);
new classecadast222().setVisible(true);
new classecadast777().setVisible(true);
QUERO usar uma variavel …
?? VARIAVEL = classecadast777;
new VARIAVEL().setVisible(true);
assim, esta variavel pode conter qualquer tela (classe jFrame).
Esse exemplo vai fazer exibir todas as janelas. Se você quiser abrir uma janela especifica, pode utilizar constantes int para indexar o array (fica mais pratico se esse array for um campo da sua classe):
private JFrame[] janelas;
private final int
CLIENTE = 0,
FORNECEDOR = 1,
ESTOQUE = 2,
VENDAS = 3,
COMPRAS = 4,
RH = 5
;
...
public void umMetodoPreencheOVetorComMeusJFrames(){
janelas = new JFrame[6];
janelas[0] = new JanelaCliente;
janelas[1] = new JanelaFornecedor;
...
janelas[5] = new JanelaRH;
}
...
public void abrirJanela(int idJanela){
janelas[idJanela].setVisible(true);
}
...
public void umMetodoQualquer(){
...
//Quero abrir a janela de cliente
abrirJanela(CLIENTE);
...
//Agora, quero a de RH
abrirJanela(RH);
...
}
Dá pra fazer algo mais sofisticado utilizando tipos enumerados, mas isso vou deixar por sua conta!