Ir ao conteúdo
  • Cadastre-se

Java Erro ao chamar método de outra classe


Ir à solução Resolvido por AdrianoSiqueira,

Posts recomendados

package Telas;

import Model.Comprador;

/**
 *
 * @author Lucas
 */
public class TelaCadastroComprador extends javax.swing.JInternalFrame {
private TelaVisualizarComprador tela_visualizar_comprador;
    /**
     * Creates new form TelaCadastroComprador
     */
    public TelaCadastroComprador() {
        initComponents();
    }
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
        
    Float i = Float.parseFloat(txtValor.getText());
    Comprador comprador = new Comprador();
    comprador.setNome(txtNome.getText());
    comprador.setRegiao(txtRegiao.getText());
    comprador.setCpf(ftxtCPF.getText());
    comprador.setValor(i);
    comprador.setTelefone(ftxtTelefone.getText());
        
    tela_visualizar_comprador.cadastrar(comprador.getRegiao(), comprador.getValor(), comprador.getNome(), comprador.getCpf(), comprador.getTelefone());
    }                                        
package Telas;

import Model.Comprador;
import java.util.Arrays;


import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Lucas
 */
public class TelaVisualizarComprador extends javax.swing.JInternalFrame {

    /**
     * Creates new form TelaVisualizarComprador
     */
    public TelaVisualizarComprador() {
        initComponents();
    }
    public void cadastrar(String regiao, Float valor, String nome, String cpf, String telefone){
      
        DefaultTableModel dtmComprador = (DefaultTableModel) jTComprador.getModel();
        Object[] dados = {regiao,valor,nome,cpf,telefone};
        dtmComprador.addRow(dados);
    }

 

Objetivo: Evento do botão da classe TelaCadastroComprador pega as infos e passa por meio do metodo cadastrar() da classe TelaVisualizarComprador que consiste em colocar as infos na jTable
Problema: Erro na linha 

 tela_visualizar_comprador.cadastrar(comprador.getRegiao(), comprador.getValor(), comprador.getNome(), comprador.getCpf(), comprador.getTelefone());

image.thumb.png.845856bd120aad53f75da32ee8cdbc87.png (abrir imagem no navegador para melhor visibilidade)

não entendi o "this.tela_visualizar_comprador" já que não existe no código (mas sei que this. é comum em java então devo estar esquecendo algo), e também não entendi o null já que debuguei o código e os parametros tem seus valores.

para fins de informação, adaptei desse sistema-> https://drive.google.com/file/d/1sj-iDeCRWDt2tHoXcngXJA82Gj-Up-gp/view

Link para o comentário
Compartilhar em outros sites

  • Solução

Você está chamando o método antes de inicializar a variável tela_visualizar_comprador. Por padrão, o Java inicia objetos como null, daí quando você tenta realizar qualquer operação com ela, recebe um NullPointerException.

 

É necessário inicializar a variável tela_visualizar_comprador antes de usá-la. Você pode fazer isso no construtor da classe TelaCadastroComprador.

Link para o comentário
Compartilhar em outros sites

@AdrianoSiqueira Pois é, acabei percebendo depois, que erro bobo. Inicializei e consegui chamar o método, entretanto, o AddRow não está funcionando. Aliás, nenhum método da DTM está funcionando (Testei o removeRow e o addColumn). Acha que seria melhor eu criar um TableModel meu ou estou fazendo algo errado?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!