Pessoal agora estou com o senguinte problema eu tenho um metodo statico prara contrele de instanciamente de JinternalFrame para nao possibilitar abertura de 2 ou mais veses a mesma janela
porem como meu construtor do JInternalFrame
tem referencia o metodo esta dando erro por que instancia sem referencia não faço a minima ideia de como resolver isso?
public static CadastrarContas getInstancia() {
if (telaCadastro == null) {
telaCadastro = new CadastrarContas();=====> AQUI NESSE INSTANCIAMENTO ESTA DANDO ERRO!
}
return telaCadastro;
}
/**
* Creates new form CadastrarContas
* @param dados
*/
public CadastrarContas(TelaCFPbeta dados) {
initComponents();
getdados = dados;
}
mais uma vez mexi testei ate conseguir resolver e ta ai resolvi fiz uma atribuição no metodo que checa o instanciamento do objeto ficou dessa forma agora resolvido
public class CadastrarContas extends javax.swing.JInternalFrame {
public static TelaCFPbeta getdados;
private static CadastrarContas telaCadastro;
/**
* Creates new form CadastrarContas
*
* @param dados
*/
public CadastrarContas(TelaCFPbeta dados) {
initComponents();
getdados = dados;
}
public static CadastrarContas getInstancia(TelaCFPbeta dados) { <=== AQUI FIZ A ATRIBUIÇÃO NÃO SEI SE É ASSIM QUE SE CHAMA MAIS EM FIM RESOLVIDO...
if (telaCadastro == null) {
getdados = dados;
telaCadastro = new CadastrarContas(dados);
}
return telaCadastro;
}
public static TelaCFPbeta getdados; // essa variável não deve ser estática
private static CadastrarContas telaCadastro;
// esse construtor deveria ser private, já que você instancia a classe através de um outro método
public CadastrarContas(TelaCFPbeta dados) {
initComponents();
getdados = dados; // é aqui que você faz a atribuição
}
public static CadastrarContas getInstancia(TelaCFPbeta dados) { // aqui não fez atribuição nenhuma, isso é só um parâmetro
if (telaCadastro == null) {
getdados = dados; // essa linha é inútil, pois o parâmetro é passado ao construtor, na próxima linha
telaCadastro = new CadastrarContas(dados);
}
return telaCadastro;
}
1 curtida
starrosk muito obrigado amigo e perdão pelas minhas baberagem é que como disse estou iniciando ainda faz uns 2 meses que decidi me dedicar ao java então agradeço mesmo pelas melhorias que vc fez pra mim ai vlw um abraço!!!
Só corrigindo um pequeno detalhe.
Use instanciação e não instanciamento
1 curtida