Swing NumberFormatException

Bwuki

Mitglied
Java:
package rechner;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

/**
 *
 * @author jonas
 */
public class Rechner {

    static JPanel panel = new JPanel();
    static JFrame frame = new JFrame("");
    static JButton button0 = new JButton();
    static JButton button1 = new JButton();
    static JButton button2 = new JButton();
    static JButton button3 = new JButton();
    static JButton button4 = new JButton();
    static JButton button5 = new JButton();
    static JButton button6 = new JButton();
    static JButton button7 = new JButton();
    static JButton button8 = new JButton();
    static JButton button9 = new JButton();
    static JButton buttonReset = new JButton();
    static JButton enterButton = new JButton();
    static JButton plusButton = new JButton();
    static JButton minusButton = new JButton();
    static JButton malButton = new JButton();
    static JButton divButton = new JButton();
    static JButton pointButton = new JButton();
    static JTextArea area = new JTextArea();
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
       frame(); 
        
    }
    static void init() {
        
        frame.setTitle("Rechner");
        
        button0.setText("0");
        button1.setText("1");
        button2.setText("2");
        button3.setText("3");
        button4.setText("4");
        button5.setText("5");
        button6.setText("6");
        button7.setText("7");
        button8.setText("8");
        button9.setText("9");
        buttonReset.setText("Clear");
        enterButton.setText("=");
        minusButton.setText("-");
        plusButton.setText("+");
        malButton.setText("*");
        divButton.setText("/");
        pointButton.setText(".");
        
        
    }
    static void actions() {
        button0.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("0");
          }      
                
        });
        
         button1.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("1");
              
          }      
                
        });
         
          button2.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("2");
          }      
                
        });
          
           button3.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("3");
          }      
                
        });
           
            button4.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("4");
          }      
                
        });
            
             button5.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("5");
          }      
                
        });
             
              button6.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("6");
          }      
                
        });
              
               button7.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("7");
          }      
                
        });
               
                button8.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("8");
          }      
                
        });
                
                 button9.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("9");
          }      
                
        });
                 
                  buttonReset.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.setText("");
          }      
                
        });
                  
                   divButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("/");
          }      
                
        });
                   
                    
                    
                     malButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("*");
          }      
                
        });
        
                      plusButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("+");
          }      
                
        });
                       minusButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append("-");
          }      
                
        });
                       
                        pointButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
              area.append(".");
          }      
                
        });
        
                      
                        enterButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {         
              
           double numb;  
           numb = Double.valueOf(area.getText());
           area.setText("= "+numb);
           
                   
             
                       }
                               });
                        
    }

        
             
                          
                
       
        
    
    static void frame() {
        init();
        actions();
        frame.add(panel);
        panel.setVisible(true);
        panel.setSize(580, 500);       
        
      
        panel.add(area);
        area.setColumns(41);
        panel.add(button0);
        panel.add(button1);
        panel.add(button2);
        panel.add(button3);
        panel.add(button4);
        panel.add(button5);
        panel.add(button6);
        panel.add(button7);
        panel.add(button8);
        panel.add(button9);
//        panel.add(buttonReset);
        panel.add(divButton);
   //     panel.add(enterButton);
        panel.add(malButton);
        panel.add(pointButton);
      //  panel.add(minusButton);
      //  panel.add(plusButton);
        
        
        frame.add(buttonReset, BorderLayout.NORTH);
        frame.add(plusButton, BorderLayout.EAST);
        frame.add(minusButton, BorderLayout.WEST);
        frame.add(enterButton, BorderLayout.SOUTH);
        frame.setSize(580, 500);
        frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        
    }
    
}

Jedesmal wenn ich auf den gleich button klicke, krieg ich eine NumberFormat Ausnahme in Zeile 188

Ich dachte dass die methode
Java:
double numb = Double.valueOf(area.getText());
Zuerst den String in ein Double umwandelt.
Dannach
Java:
area.append("= "+numb);
es dan im Text Area ausgiebt, leider funktioniert das nicht so recht..
 

GUI-Programmer

Top Contributor
Es gibt aber in Java eine Klasse/Bibliothek, die für sowas gemacht ist, wie zum Beispiel eine ganze Rechnung mit + * und /, etc. zu interpretiern. Deswegen wird sie auch oft für selbstprogrammierte Taschenrechner empfohlen. Weiß nur grad nich wie diese heißt.
 

Ähnliche Java Themen

Neue Themen


Oben