954,135 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Applet Calculator

the errors are commented in the code:
help???

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.lang.*;


public class Kol2_1 extends Applet implements ActionListener
{
    Button plus  = new Button("+");
    Button minus = new Button("-");
    Button times = new Button("*");
    Button div   = new Button("/");
    Button eq    = new Button("=");
    
    TextField pole = new TextField("E hej zver");
    
    double x=0.0,y=0.0, z;        
        
    
    public void init()
    {    
        try{
        x=Double.parseDouble(JOptionPane.showInputDialog("Vnesete vrednost za x:"));
        y=Double.parseDouble(JOptionPane.showInputDialog("Vnesete vrednost za y:"));
           }
        catch(StringIndexOutOfBoundsException n)
        {JOptionPane.showMessageDialog(this, "Vnesete broj.");}    

        setLayout(new GridLayout(4,2));
        add(plus);
        add(minus);
        add(times);
        add(div);
        add(eq);
        add(pole);
        
        plus.addActionPerformed(this);  /*cannot find symbol method addActionPerformed(Kol2_1)*/
        minus.addActionPerformed(this);  /*cannot find symbol method addActionPerformed(Kol2_1)*/
        times.addActionPerformed(this);  /*cannot find symbol method addActionPerformed(Kol2_1)*/
        div.addActionPerformed(this);   /*cannot find symbol method addActionPerformed(Kol2_1)*/
        eq.addActionPerformed(this);   /*cannot find symbol method addActionPerformed(Kol2_1)*/
        
        
        
        
    }
    
    public void actionPerformed(ActionEvent e)
        {
            switch(e.getSource()){            //incompatible types
                case    plus:     {    z=x+y;}
                case    minus:  {    z=x-y;}
                case    times:  {    z=x*y;}
                case    div:    {    try{z=x/y;}
                                    catch(NumberFormatException m)
                                    {
                                        if(y==0) JOptionPane.showMessageDialog(this,"Division by zero.");
                                    }
                                }
                case    eq:     {pole.setText(""+z);}
            }
    }
}
PennyBoki
Newbie Poster
3 posts since Feb 2007
Reputation Points: 10
Solved Threads: 0
 

*squints at code*

.....

Haha, silly me. I missed this at first glance.

1) instead of *.addActionPerformed(this); use *.addActionListener(this);

2) e.getSource() returns anObject, and switch statements work with int values. ;) Might wanna reconsider, with casting and/or an if-else statement.

Cudmore
Junior Poster in Training
74 posts since Nov 2005
Reputation Points: 20
Solved Threads: 6
 

you are giving plus.addactionPerformed(this);. you should not give like that. please give plus.addActionListener(this);. and then after finishing the constructor write the method

public void actionPerformed(ActionEvent e)
{
String s=e.getActionCommand();
if(s.equals("+"))
{....}
}

here e.getActionCommand() method return the caption(that is the string that you written on the button). and then check whether it it equal to +,-,*,/ and then perform the relevant action.







the errors are commented in the code:
help???

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
import java.lang.*;
 
 
public class Kol2_1 extends Applet implements ActionListener
{
    Button plus  = new Button("+");
    Button minus = new Button("-");
    Button times = new Button("*");
    Button div   = new Button("/");
    Button eq    = new Button("=");
 
    TextField pole = new TextField("E hej zver");
 
    double x=0.0,y=0.0, z;        
 
 
    public void init()
    {    
        try{
        x=Double.parseDouble(JOptionPane.showInputDialog("Vnesete vrednost za x:"));
        y=Double.parseDouble(JOptionPane.showInputDialog("Vnesete vrednost za y:"));
           }
        catch(StringIndexOutOfBoundsException n)
        {JOptionPane.showMessageDialog(this, "Vnesete broj.");}    
 
        setLayout(new GridLayout(4,2));
        add(plus);
        add(minus);
        add(times);
        add(div);
        add(eq);
        add(pole);
 
        plus.addActionPerformed(this);  /*cannot find symbol method addActionPerformed(Kol2_1)*/
        minus.addActionPerformed(this);  /*cannot find symbol method addActionPerformed(Kol2_1)*/
        times.addActionPerformed(this);  /*cannot find symbol method addActionPerformed(Kol2_1)*/
        div.addActionPerformed(this);   /*cannot find symbol method addActionPerformed(Kol2_1)*/
        eq.addActionPerformed(this);   /*cannot find symbol method addActionPerformed(Kol2_1)*/
 
 
 
 
    }
 
    public void actionPerformed(ActionEvent e)
        {
            switch(e.getSource()){            //incompatible types
                case    plus:     {    z=x+y;}
                case    minus:  {    z=x-y;}
                case    times:  {    z=x*y;}
                case    div:    {    try{z=x/y;}
                                    catch(NumberFormatException m)
                                    {
                                        if(y==0) JOptionPane.showMessageDialog(this,"Division by zero.");
                                    }
                                }
                case    eq:     {pole.setText(""+z);}
            }
    }
}
muthulakshmil
Newbie Poster
3 posts since Feb 2007
Reputation Points: 10
Solved Threads: 1
 

thanks alot

PennyBoki
Newbie Poster
3 posts since Feb 2007
Reputation Points: 10
Solved Threads: 0
 

how to create a java program using applets in calculate for grocerry items please help me....

cempaka123
Newbie Poster
2 posts since Dec 2010
Reputation Points: 10
Solved Threads: 0
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You