Professional Documents
Culture Documents
*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.MouseListener;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
import java.awt.event.MouseEvent;
public Calculator() {
myFrame = new JFrame("Calculator");
myFrame.setLocationRelativeTo(null);
myFrame.setVisible(true);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myButton1=new JButton("BackSpace");
myButton2=new JButton("C");
myButton3=new JButton("7");
myButton4=new JButton("8");
myButton5=new JButton("9");
myButton6=new JButton("/");
myButton7=new JButton("Sqrt");
myButton8=new JButton("4");
myButton9=new JButton("5");
myButton10=new JButton("6");
myButton11=new JButton("X");
myButton12=new JButton("%");
myButton13=new JButton("1");
myButton14=new JButton("2");
myButton15=new JButton("3");
myButton16=new JButton("-");
myButton17=new JButton("1/X");
myButton18=new JButton("0");
myButton19=new JButton("+/-");
myButton20=new JButton(".");
myButton21=new JButton("+");
myButton22=new JButton("=");
reset = new JMenuItem("Reset");
exit = new JMenuItem("Exit");
temp1="";
objOne=null;
objTwo=null;
hasil=null;
hasil2=null;
operator = null;
addListener();
}
//setter
private void setText(String newText) {
myText.setText(newText);
}
//getter
public String getText() {
return myText.getText();
}
myText.setText("+");
} else if(e.getSource() == myButton22) {
objTwo=Float.parseFloat(temp1);
if(operator.equals("/")) {
hasil=objOne / objTwo;
} else if(operator.equals("X")) {
hasil=objOne * objTwo;
} else if(operator.equals("+")) {
hasil=objOne + objTwo;
} else if(operator.equals("-")) {
hasil=objOne - objTwo;
}
temp1=hasil.toString();
myText.setText(temp1);
}
}
public void mousePressed(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
gb.gridwidth = 3;
gb.gridheight = 1;
gb.gridx = 0;
gb.gridy = 0;
gb.fill = GridBagConstraints.BOTH;
panel.add(myButton1, gb);
gb.gridx = 3;
gb.gridy = 0;
gb.gridwidth = 2;
panel.add(myButton2, gb);
gb.gridx =0;
gb.gridy=1;
gb.gridwidth = 1;
panel.add(myButton3, gb);
gb.gridx = 1;
gb.gridy=1;
panel.add(myButton4, gb);
gb.gridx = 2;
gb.gridy=1;
panel.add(myButton5, gb);
gb.gridx = 3;
gb.gridy=1;
panel.add(myButton6, gb);
gb.gridx = 4;
gb.gridy=1;
panel.add(myButton7, gb);
gb.gridwidth = 1;
gb.gridx = 0;
gb.gridy=2;
panel.add(myButton8, gb);
gb.gridx = 1;
gb.gridy=2;
panel.add(myButton9, gb);
gb.gridx=2;
gb.gridy=2;
gb.gridwidth = 1;
panel.add(myButton10, gb);
gb.gridx = 3;
gb.gridy=2;
panel.add(myButton11, gb);
gb.gridx = 4;
gb.gridy=2;
panel.add(myButton12, gb);
gb.gridx = 0;
gb.gridy=3;
gb.gridwidth = 1;
panel.add(myButton13, gb);
gb.gridx = 1;
gb.gridy=3;
panel.add(myButton14, gb);
gb.gridx=2;
gb.gridy=3;
gb.gridwidth = 1;
panel.add(myButton15, gb);
gb.gridx = 3;
gb.gridy=3;
panel.add(myButton16, gb);
gb.gridx = 4;
gb.gridy=3;
panel.add(myButton17, gb);
gb.gridx = 0;
gb.gridy=4;
gb.gridwidth = 1;
panel.add(myButton18, gb);
gb.gridx = 1;
gb.gridy=4;
panel.add(myButton19, gb);
gb.gridx=2;
gb.gridy=4;
gb.gridwidth = 1;
panel.add(myButton20, gb);
gb.gridx = 3;
gb.gridy=4;
panel.add(myButton21, gb);
gb.gridx = 4;
gb.gridy=4;
panel.add(myButton22, gb);
return panel;
}
Ini bukan sekedar desain saja sudah dilengkapi dengan kode untuk menjalankan fungsi
operasi pada kalkulator dengan menggunakan Event Handling.