Herdar classe com um construtor

5 respostas
willricardo

Buenas pessoal,

Tenho pouco conhecimento em java e estou fazendo um programa de emissão de nota fiscal.

Estou desenvolvendo com o netbeans, pois acho mais facil criar os forms, porém na construção dos forms ele joga tudo em uma classe só.

como quero usar o conceito de orientação a objetos, criei varias classes para manipular os objetos que é gerado como private pelo netbeans e dentro da classe que o netbeans gera eu crio o metodo conforme o exemplo abaixo:

public JTextField getJTextFieldRaSocRem(){
        return JTextFieldRaSocRem;
 }

Porem quando vou na minha classe instanciar a classe que o netbeans gera para conseguir trabalhar com este metodo.
Conforme Abaixo:

package emissaonota;

public class PanelRem{
    
     EmissaoNotaView Rem = new EmissaoNotaView();
}

Apresenta este seguinte erro:

cannot find symbol
symbol: constructor EmissaoNotaView()
Location: class emissaonota.EmissaoNotaView

Abaixo esta como foi declarada a classe EmissaoNotaView pelo NetBeans:

public class EmissaoNotaView extends FrameView{
     
        public EmissaoNotaView(SingleFrameApplication app){
                      super(app);
                      
                      initComponents();

                    //codigo da inicialização dos componentes

    }
}

Como faço para resolver este problema?!!!

Ou não irei conseguir instanciar esta classe?!!

Obrigado desde já!!!

5 Respostas

B

Falta ou você declarar um construtor sem parâmetros na classe EmissaoNotaView ou passar um parâmetro do tipo SingleFrameApplication para o construtor ao chamá-lo.

gilmaslima

O construtor precisa de um que seja passado como parametro um objeto do tipo SingleFrameApplication

EmissaoNotaView Rem = new EmissaoNotaView(); // nessa linha ao instanciar o objeto  o erro porque o construtor precisa do parametro
willricardo

Quando adiciono o contrutor na outra classe o erro de instanciar some, porem agora apresenta este erro:

EmissaoNotaView Rem = new EmissaoNotaView(); 
 
       Rem.getJTextFieldRaSocRem().alguma coisa

     //não mostra nenhum metodo para eu usar.

e apresenta o erro :

package Rem does not exist
expected

e na classe que o Net Beans gerou apresenta a seguinte mensagem:

cannot find symbol   
symbol: constructor FrameView()   
Location: class org.jdesktop.application.FrameView

Segue o construtor que acabei de addicionar, que o NetBeans gerou:

public EmissaoNotaView(){      
              throw new UnsupportedOperationException("Not yet implemented");
 }

Como faço para passar como parametro um objeto do tipo SingleFrameApplication?

Obrigado desde já!!!

panthovillas

pq vc nao deixa q o NetBeans crie os construtores do seu form, e dentro da classe q ele cria vc cria os metodos q lhe são necessarios ??

dai basta vc instanciar o form dentro de um control e pegar o valor do campo que deseja trabalhar!

willricardo

Pessoal,

Muito obrigado pelas dicas mas resolvi o meu problema desta maneira.

Ao invéz de ficar quebrando a cabeça tentando herdar a classe criada pelo netbeans, fui na classe que criei e adicionei metodos que chama objetos conforme abaixo:

public void getJTextFieldRaSocRem(getJTextField b){
        //conteudo do metodo
}

e na classe EmissaoNotaView instanciei minha clase PanelRem e coloquei o metodo no envento do objeto:

private void jTextFieldRaSocRemActionPerformed(ActionEvent evt){
      PanelRem c = new PanelRem();
      c.getJTextFieldRaSocRem(jTextFieldRaSocRem);
}

resolveu meu problema, pois consegui organizar meu codigo e retirar de uma classe só!!!

Obrigado pela ajuda galera!!!

Obs.: Estou curtindo começar a programar em JAVA!!!

Criado 13 de janeiro de 2009
Ultima resposta 13 de jan. de 2009
Respostas 5
Participantes 4