Created
January 26, 2015 11:36
-
-
Save devpruthvi/8d0060d9e22144a8963a to your computer and use it in GitHub Desktop.
Calculator program
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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