I am creating rpn calculator by using stack.I don't know why my codes does not work in stacks.can someone help to fix my codes.I know it's about stack.here is my codes.
/**

*/
import java.util.Stack;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.math.*;

public class JavaCalculator extends JFrame{
Stack s = new Stack();

private JFrame f;
private JPanel p1,p2;
private JTextField jtfMain;
private JButton jbtnOn, jbtnMRC, jbtnMminus, jbtnMadd, jbtnDivide, jbtnOff, jbtnSeven, jbtnEight, jbtnNine, jbtnMultiply,
jbtnSqrt, jbtnFour, jbtnFive, jbtnSix, jbtnMinus, jbtnSq, jbtnOne, jbtnTwo, jbtnThree, jbtnPlus, jbtn1x, jbtnZero, jbtnDecimal,
jbtnEqual, jbtnEnter;

public JavaCalculator() {



setSize(400,190);
setTitle("Reverse Polish Notation Calculator");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());

jtfMain = new JTextField("");

jbtnOn = new JButton("ON/AC");
jbtnMRC = new JButton("MRC");
jbtnMminus = new JButton("M-");
jbtnMadd = new JButton("M+");
jbtnDivide = new JButton("/");
jbtnOff = new JButton("OFF");
jbtnSeven = new JButton("7");
jbtnEight = new JButton("8");
jbtnNine = new JButton("9");
jbtnMultiply = new JButton("X");
jbtnSqrt = new JButton("SQRT");
jbtnFour = new JButton("4");
jbtnFive = new JButton("5");
jbtnSix = new JButton("6");
jbtnMinus = new JButton("-");
jbtnSq = new JButton("SQ");
jbtnOne = new JButton("1");
jbtnTwo = new JButton("2");
jbtnThree = new JButton("3");
jbtnPlus = new JButton("+");
jbtn1x = new JButton("1/x");
jbtnZero = new JButton("0");
jbtnDecimal = new JButton(".");
jbtnEqual = new JButton("=");
jbtnEnter = new JButton("ENTER");

p1 = new JPanel();
p1.setLayout(new GridLayout(1,1));

p2 = new JPanel();
p2.setLayout(new GridLayout(5,5));

p1.add(jtfMain);

p2.add(jbtnOn);
p2.add(jbtnMRC);
p2.add(jbtnMadd);
p2.add(jbtnMminus);
p2.add(jbtnDivide);
p2.add(jbtnSeven);
p2.add(jbtnEight);
p2.add(jbtnNine);
p2.add(jbtnMultiply);
p2.add(jbtnSqrt);
p2.add(jbtnFour);
p2.add(jbtnFive);
p2.add(jbtnSix);
p2.add(jbtnMinus);
p2.add(jbtnSq);
p2.add(jbtnOne);
p2.add(jbtnTwo);
p2.add(jbtnThree);
p2.add(jbtnPlus);
p2.add(jbtn1x);
p2.add(jbtnZero);
p2.add(jbtnDecimal);
p2.add(jbtnEqual);
p2.add(jbtnEnter);
p2.add(jbtnOff);

jbtnOn.addActionListener(new ButtonHandler());
jbtnMRC.addActionListener(new ButtonHandler());
jbtnMminus.addActionListener(new ButtonHandler());
jbtnDivide.addActionListener(new ButtonHandler());
jbtnOff.addActionListener(new ButtonHandler());
jbtnSeven.addActionListener(new ButtonHandler());
jbtnEight.addActionListener(new ButtonHandler());
jbtnNine.addActionListener(new ButtonHandler());
jbtnMultiply.addActionListener(new ButtonHandler());
jbtnSqrt.addActionListener(new ButtonHandler());
jbtnFour.addActionListener(new ButtonHandler());
jbtnFive.addActionListener(new ButtonHandler());
jbtnSix.addActionListener(new ButtonHandler());
jbtnMinus.addActionListener(new ButtonHandler());
jbtnSq.addActionListener(new ButtonHandler());
jbtnOne.addActionListener(new ButtonHandler());
jbtnTwo.addActionListener(new ButtonHandler());
jbtnThree.addActionListener(new ButtonHandler());
jbtnPlus.addActionListener(new ButtonHandler());
jbtn1x.addActionListener(new ButtonHandler());
jbtnZero.addActionListener(new ButtonHandler());
jbtnDecimal.addActionListener(new ButtonHandler());
jbtnEqual.addActionListener(new ButtonHandler());
jbtnEnter.addActionListener(new ButtonHandler());

add(p1, BorderLayout.NORTH);
add(p2, BorderLayout.CENTER);

setVisible(true);
}

public class ButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent evt)
{
if(evt.getSource()== jbtnOn)
{
jtfMain.setText("");
}
else if(evt.getSource()== jbtnOne)
{
s.push("1");

jtfMain.setText(jtfMain.getText() + "1");

}
else if(evt.getSource()== jbtnTwo)
{
s.push("2");
jtfMain.setText(jtfMain.getText() + "2");

}
else if(evt.getSource()== jbtnThree)
{
s.push("3");
jtfMain.setText(jtfMain.getText() + "3");

}
else if(evt.getSource()== jbtnFour)
{
s.push("4");
jtfMain.setText(jtfMain.getText() + "4");

}
else if(evt.getSource()== jbtnFive)
{
s.push("5");
jtfMain.setText(jtfMain.getText() + "5");

}
else if(evt.getSource()== jbtnSix)
{
s.push("6");
jtfMain.setText(jtfMain.getText() + "6");

}
else if(evt.getSource()== jbtnSeven)
{
s.push("7");
jtfMain.setText(jtfMain.getText() + "7");

}
else if(evt.getSource()== jbtnEight)
{
s.push("8");

jtfMain.setText(jtfMain.getText() + "8");

}
else if(evt.getSource()== jbtnNine)
{
s.push("9");
jtfMain.setText(jtfMain.getText() + "9");

}
else if(evt.getSource()== jbtnZero)
{
s.push("0");
jtfMain.setText(jtfMain.getText() + "0");

}
else if(evt.getSource()== jbtnDivide)
{
s.push("/");
jtfMain.setText(jtfMain.getText() + "/");

}
else if(evt.getSource()== jbtnMultiply)
{
s.push("X");
jtfMain.setText(jtfMain.getText() + "X");

}
else if(evt.getSource()== jbtnPlus)
{
s.push("+");
jtfMain.setText(jtfMain.getText() + "+");


}
else if(evt.getSource()== jbtnMinus)
{
s.push("-");
jtfMain.setText(jtfMain.getText() + "-");


}
else if(evt.getSource() == jbtnEnter)
{
s.push(" ");
jtfMain.setText(evaluateExpr(jtfMain.getText()) + " ");
}
}
}
//Implement RPN algorithm
//pre-condition: The given input is in post-fix notation with tokens separated by a single space.
//Assumes binary operators only

private int evaluateExpr(String expr)
{
for(String token: expr.split(" "))
{
if(!isOperator(token))
s.push(token);
else
{

}
}
return s.pop();
}

public static void main(String[] args) {
JavaCalculator main = new JavaCalculator();
}
}