Skip to content

Instantly share code, notes, and snippets.

@devpruthvi
Created January 26, 2015 11:36
Show Gist options
  • Save devpruthvi/8d0060d9e22144a8963a to your computer and use it in GitHub Desktop.
Save devpruthvi/8d0060d9e22144a8963a to your computer and use it in GitHub Desktop.
Calculator program
package apples;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.ScriptException;
class tuna
{
public static void main(String[] args)
{
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
JFrame calc = new JFrame("Calc by Raj");
calc.setMinimumSize(new Dimension(500,300));
calc.setVisible(true);
calc.setLayout(new GridLayout(2,1));
calc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextArea tx = new JTextArea();
Font font = tx.getFont();
float size = font.getSize() + 20.0f;
tx.setFont( font.deriveFont(size) );
calc.add(tx);
ActionListener blistener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
tx.append(e.getActionCommand());
}
};
JPanel numberspanel = new JPanel(new GridLayout(4,3,2,1));
JButton one = new JButton("1");
one.addActionListener(blistener);
JButton two = new JButton("2");
two.addActionListener(blistener);
JButton three = new JButton("3");
three.addActionListener(blistener);
JButton four = new JButton("4");
four.addActionListener(blistener);
JButton five = new JButton("5");
five.addActionListener(blistener);
JButton six = new JButton("6");
six.addActionListener(blistener);
JButton seven = new JButton("7");
seven.addActionListener(blistener);
JButton eight = new JButton("8");
eight.addActionListener(blistener);
JButton nine = new JButton("9");
nine.addActionListener(blistener);
JButton zero = new JButton("0");
zero.addActionListener(blistener);
JButton calculate = new JButton("=");
calculate.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String expr = tx.getText();
try {
tx.setText(null);
tx.append(String.valueOf(engine.eval(expr)));
} catch (ScriptException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
numberspanel.add(one);
numberspanel.add(two);
numberspanel.add(three);
numberspanel.add(four);
numberspanel.add(five);
numberspanel.add(six);
numberspanel.add(seven);
numberspanel.add(eight);
numberspanel.add(nine);
numberspanel.add(zero);
numberspanel.setSize(500,200);
JButton add = new JButton("+");
add.addActionListener(blistener);
JButton sub = new JButton("-");
sub.addActionListener(blistener);
JButton mul = new JButton("*");
mul.addActionListener(blistener);
JButton div = new JButton("/");
div.addActionListener(blistener);
JButton mod = new JButton("%");
mod.addActionListener(blistener);
numberspanel.add(add);
numberspanel.add(sub);
numberspanel.add(mul);
numberspanel.add(div);
numberspanel.add(mod);
numberspanel.add(calculate);
calc.add(numberspanel);
calc.pack();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment