Não Soma A Minha Aplicação

3 respostas
Sahed_Deitel
Estou a Fazer o Teste de Um JTable, no Entanto não consigo fazer a soma dos valores inseridos... Aí Vai o Código Fonte:
package viajens;

/**
 *
 * @author Sahed Ribeiro
 */
public class clsBarco {
    private String Barco;
    private int Viajem1;
    private int Viajem2;
    private int soma;
    private int cargaTotal;
    private String Mensagem;

    public int getViajem1() {
        return Viajem1;
    }

    public int getViajem2() {
        return Viajem2;
    }

    public int getCargaTotal() {
        return cargaTotal;
    }

    public String getBarco() {
        return Barco;
    }

    public void setBarco(String Barco) {
        this.Barco = Barco;
    }

    public void setViajem1(int Viajem1) {
        this.Viajem1 = Viajem1;
    }

    public void setViajem2(int Viajem2) {
        this.Viajem2 = Viajem2;
    }

    public void setCargaTotal(int cargaTotal) {
        this.cargaTotal = cargaTotal;
    }
    public int Somar(int num1, int num2){
        int som = (num1+num2);
        return (som);
    }
    public String Mensagem(){
        if(Somar(this.Viajem1, this.Viajem2) >= cargaTotal)
            return(this.Mensagem = "Confirmado").toString();
        else
            return(this.Mensagem = "Não Confirmado").toString();
    }

}
   private void jBotaoInserirActionPerformed(java.awt.event.ActionEvent evt) {                                         

        clsBarco oBarco = new clsBarco();
        oBarco.setBarco(JOptionPane.showInputDialog(null, "Digite o Nome do Barco"));
        oBarco.setViajem1(Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o Número da Primeira Viajem")));
        oBarco.setViajem2(Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o Número da Segunda Viajem")));
        oBarco.setCargaTotal(Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o Número de Carga")));

        jTabela.setValueAt(oBarco.getBarco(), jTabela.getSelectedRow(),0);
        jTabela.setValueAt(oBarco.getViajem1(), jTabela.getSelectedRow(),1);
        jTabela.setValueAt(oBarco.getViajem2(), jTabela.getSelectedRow(),2);
        jTabela.setValueAt(oBarco.getCargaTotal(), jTabela.getSelectedRow(),4);
    }         

    private void jBotaoCalcularActionPerformed(java.awt.event.ActionEvent evt) {                                         

        clsBarco oBarco = new clsBarco();

        jTabela.setValueAt(oBarco.Somar(oBarco.getViajem1(), oBarco.getViajem2()), jTabela.getSelectedRow(), 3);
        jTabela.setValueAt(oBarco.Mensagem(), jTabela.getSelectedRow(), 5);
    }

Contudo o que Apresenta é a Soma = a Zero

3 Respostas

caio_ferreira

Amigo, está acontecendo o seguinte, vc está criando uma instância de objeto clsBarco dentro do metodo e atribuindo os valores, correto

private void jBotaoInserirActionPerformed(java.awt.event.ActionEvent evt) {                                           
  
        clsBarco oBarco = new clsBarco();

mas depois no metodo abaixo, vc cria outra instância de objeto clsBarco, com o mesmo nome da outra q vc criou no outro metodo e não seta valores.

private void jBotaoCalcularActionPerformed(java.awt.event.ActionEvent evt) {                                           
  
        clsBarco oBarco = new clsBarco();

o correto seria declarar clsBarco oBarco, fora dos metodos, junto onde vc declarou as outras variaveis.

tenta assim

Sahed_Deitel

OKay, Obrigadinho Pela Ajuda… :slight_smile:

gaujava2

Alguém me explica porque o eclipse não gostou do
jTabela e me sugeriu o JTable do javax.swing?

Tentei compilar aqui e não deu.

Criado 5 de novembro de 2010
Ultima resposta 5 de nov. de 2010
Respostas 3
Participantes 3