Erro em aplicação desktop!

5 respostas
H
pessoal que tem de errado nesse codigo?
/*
 * calculadoraTela.java
 *
 * Created on 26 de Novembro de 2010, 00:25
 */

package tela;

import bt.horacio.core.Calculadora;
import javax.swing.JOptionPane;

/**
 *
 * @author  Administrador
 */
public class calculadoraTela extends javax.swing.JFrame {
    
    /** Creates new form calculadoraTela */
    public calculadoraTela() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
    private void initComponents() {
        numero2 = new javax.swing.JTextField();
        numero1 = new javax.swing.JTextField();
        btnSomar = new javax.swing.JToggleButton();
        jOptionPane1 = new javax.swing.JOptionPane();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        Sair = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        numero2.setText("0");

        numero1.setText("0");

        btnSomar.setText("jToggleButton1");
        btnSomar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSomarActionPerformed(evt);
            }
        });

        jMenu1.setText("Menu");
        Sair.setText("Item");
        jMenu1.add(Sair);

        jMenuBar1.add(jMenu1);

        setJMenuBar(jMenuBar1);

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(layout.createSequentialGroup()
                        .addContainerGap()
                        .add(numero1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 30, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(layout.createSequentialGroup()
                        .add(95, 95, 95)
                        .add(numero2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 30, Short.MAX_VALUE)))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(btnSomar)
                .add(104, 104, 104))
            .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                .addContainerGap(40, Short.MAX_VALUE)
                .add(jOptionPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(38, 38, 38))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(jOptionPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(21, 21, 21)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(layout.createSequentialGroup()
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(numero1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 32, Short.MAX_VALUE)
                        .add(numero2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(29, 29, 29))
                    .add(layout.createSequentialGroup()
                        .add(17, 17, 17)
                        .add(btnSomar)
                        .addContainerGap())))
        );
        pack();
    }// </editor-fold>

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

         Calculadora calculadora = new Calculadora();
        
        String valornumero1=this.numero1.getText();
        Double valornumerico1 = Double.parseDouble(valornumero1);
        
        String valornumero2=this.numero2.getText();
        Double valornumerico2 = Double.parseDouble(valornumero2);
        
        Double resultadoSoma = Calculadora.somar(valornumerico1 , valornumerico2);
        String resposta="o resultado de"+numero1+"com"+numero2+"  é "+resultadoSoma+"!";
        
        JOptionPane.showMessageDialog(null, resposta);  

        
    }
    
    
        
    
    
    
    
    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new calculadoraTela().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify
    private javax.swing.JMenuItem Sair;
    private javax.swing.JToggleButton btnSomar;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JOptionPane jOptionPane1;
    private javax.swing.JTextField numero1;
    private javax.swing.JTextField numero2;
    // End of variables declaration
    
}
a classe que cuida disso é a :
/*
 * Calculadora.java
 *
 * Created on 26 de Novembro de 2010, 00:09
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package bt.horacio.core;
import java.lang.Double;

public class Calculadora {
    
    
    
    
    
    /** Creates a new instance of Calculadora */
    
    public static Double somar(Double valornumerico1, Double valornumerico2) {
        return null;
    }
    
    
    
    
    
    
    
    
    
    public Double Subtrair(Double numero1 ,  Double numero2) {
        return numero1 - numero2 ;
    }
    
    public Double multiplicar(Double numero1 ,  Double numero2) {
        return numero1 * numero2 ;
    }
    
    public Double dividir(Double numero1 ,  Double numero2) {
        if(numero2 ==0) {
            return -1D;
        } else{
            return numero1 / numero2;
        }
    }
    
    
    
}

o erro em questão é: quando executo a aplicação no desktop, aparece uma mensagem enorme como resposta, mas não no console, na propria aplicação, mesmo!!!
Soma que é bom, nada!!nem da as caras!!!
o que tá errado aqui, pessoal?

5 Respostas

josue_carrecon

Posta a mensagem de erro!!!

K

Da uma olhada no teu método somar, sempre vai retornar null.

H

e aí, pessoal!! tudo bom???
seguinte, realmente você tinha razão…o retorno sempre seria null mesmo…mas isso eu já arrumei!!
quanto ao erro, agora mudou…
não sei se é considerado “erro” porém, aparece uma extensa janela informando o seguinte:
“o resultado de javax.swing.JtextField[,139,12,23]”…
depois de alguns segundos arrastando essa janela chego em:
“0,colummWidth-=0, command=horizontalAlignamente=LEADING] é 49010
onde 49010 nesse caso é o resultado da adição…
enfim, ele aparentemente, exibiu todas as caracteristicas do jframe, para depois, exibir o resultado…
como eu faço para deixar apenas o resultado?rsrs
Valeu pessoal!!!
Horácio

Eric_Yuzo

O problema está aqui:

String resposta="o resultado de"+numero1+"com"+numero2+" é "+resultadoSoma+"!";Quando se concatena Strings com um objeto, é chamado o método toString() do objeto. numero1 e numero2 são JTextFields, e o texto mostrando o valor dos atributos do text field é a saída do seu método toString(). Assim como você passou numero1.getText() para converter o texto em número, passe numero1.getText() para a sua String.

String resposta="o resultado de"+numero1.getText()+"com"+numero2.getText()+"  é "+resultadoSoma+"!";
H

deu Certo, Erik!!!
muito obrigado pela força!!!
e obviamente, a todos que me ajudaram né?
Valeu, pessoal!!!
Horácio

Criado 26 de novembro de 2010
Ultima resposta 26 de nov. de 2010
Respostas 5
Participantes 4