Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import java.awt.Font;
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.BorderFactory;
- public class JavaGUI extends JFrame implements ActionListener{
- String nilai1="0",nilai2="0",hasil="";
- Font f=new Font("SansSerif",Font.BOLD, 50);
- JTextField t=new JTextField();
- JButton[] tombol=new JButton[10];
- JButton b=new JButton("C");
- JButton p=new JButton("+");
- JButton m=new JButton("-");
- JButton e=new JButton("=");
- JButton b00=new JButton("00");
- JButton d=new JButton("Del");
- JPanel x= new JPanel(new GridLayout(4, 1, 1, 1));//isinya y,y2,y3,x2
- JPanel y=new JPanel(new GridLayout(1,4,1,1));//baris pertama 789c
- JPanel y2=new JPanel(new GridLayout(1,4,1,1));//baris kedua 456+
- JPanel y3=new JPanel(new GridLayout(1,4,1,1));//baris ketiga 123-
- JPanel x2= new JPanel(new GridLayout(1, 2, 1, 1));//baris ke empat nampung x3&button =
- JPanel x3= new JPanel(new GridLayout(1, 2, 1, 1));//isinya 0 del
- JPanel xyz= new JPanel(new GridLayout(2, 1, 0, 25));//border besar isi t&x
- int flag=1;
- JavaGUI(){
- fontadj();
- layOut();
- frame();
- pack();
- }
- void fontadj(){
- t.setText("0");
- t.setHorizontalAlignment(JTextField.RIGHT);
- t.setFont(f);
- }
- void frame(){
- setLayout(new GridLayout(1,1,0,75));
- setTitle("CALCULATOR JAVA");
- setResizable(false);
- setLocationRelativeTo(null);
- setVisible(true);
- setDefaultCloseOperation(EXIT_ON_CLOSE);
- }
- void layOut(){
- for (int i = 0; i < tombol.length; i++) {
- tombol[i]=new JButton(""+i);
- tombol[i].addActionListener(this);
- }
- y.add(tombol[7]);
- y.add(tombol[8]);
- y.add(tombol[9]);
- y.add(b);b.addActionListener(this);
- x.add(y);
- y2.add(tombol[4]);
- y2.add(tombol[5]);
- y2.add(tombol[6]);
- y2.add(p);p.addActionListener(this);
- x.add(y2);
- y3.add(tombol[1]);
- y3.add(tombol[2]);
- y3.add(tombol[3]);
- y3.add(m);m.addActionListener(this);
- x.add(y3);
- x3.add(tombol[0]);
- x3.add(d);d.addActionListener(this);
- x2.add(x3);
- x2.add(e);e.addActionListener(this);
- x.add(x2);
- xyz.add(t);
- xyz.add(x);
- xyz.setBorder(BorderFactory.createEmptyBorder(10, 25, 10, 25));
- add(xyz);
- }
- void reset(){
- nilai1="0";
- nilai2="0";
- flag=1;
- }
- public void actionPerformed(ActionEvent e) {
- t.setHorizontalAlignment(JTextField.RIGHT);
- System.out.println(e.getActionCommand()+",Flag="+flag);
- if(e.getActionCommand().equals("C")){//pencet c
- t.setText("0");
- reset();
- }
- else if(e.getActionCommand().equals("Del")&&flag==1&&!nilai1.equals("")){//del input1
- int temp;
- System.out.println("masuk");
- if(Integer.parseInt(nilai1)%10!=0)
- temp=(Integer.parseInt(nilai1)-Integer.parseInt(nilai1)%10)/10;
- else
- temp=Integer.parseInt(nilai1)/10;
- nilai1=""+temp;
- t.setText(nilai1);
- }
- else if(e.getActionCommand().equals("Del")&&flag!=1&&!nilai2.equals("")){//del input2
- int temp;
- if(Integer.parseInt(nilai2)%10!=0)
- temp=(Integer.parseInt(nilai2)-Integer.parseInt(nilai2)%10)/10;
- else
- temp=Integer.parseInt(nilai2)/10;
- nilai2=""+temp;
- t.setText(nilai2);
- }
- else if(e.getActionCommand().equals("+")){//plus pencet
- if(flag==3){
- int has;
- has=Integer.parseInt(nilai1)+Integer.parseInt(nilai2);
- nilai1=""+has;
- nilai2="0";
- t.setText(nilai1);
- }
- else if(flag==4){
- int has;
- has=Integer.parseInt(nilai1)-Integer.parseInt(nilai2);
- nilai1=""+has;
- nilai2="0";
- t.setText(nilai1);
- }
- flag=3;
- }
- else if(e.getActionCommand().equals("-")){//min pencet
- if(flag==4){
- int has;
- has=Integer.parseInt(nilai1)-Integer.parseInt(nilai2);
- nilai1=""+has;
- nilai2="0";
- t.setText(nilai1);
- }
- else if(flag==3){
- int has;
- has=Integer.parseInt(nilai1)+Integer.parseInt(nilai2);
- nilai1=""+has;
- nilai2="0";
- t.setText(nilai1);
- }
- flag=4;
- }
- else if(flag==1&&!e.getActionCommand().equals("=")&&!e.getActionCommand().equals("Del")){//input nilai1
- System.out.println("Masuk samadengan data1");
- if(nilai1.equals("0"))
- nilai1="";
- nilai1+=e.getActionCommand();
- t.setText(nilai1);
- }
- else if(e.getActionCommand().equals("=")&&flag==3){//plus
- int has;
- has=Integer.parseInt(nilai1)+Integer.parseInt(nilai2);
- nilai1=""+has;
- nilai2="0";
- t.setText(nilai1);
- flag=1;
- }
- else if(e.getActionCommand().equals("=")&&!nilai1.equals("")){//min
- int has;
- System.out.println("nilai1:"+nilai1);
- has=Integer.parseInt(nilai1)-Integer.parseInt(nilai2);
- nilai1=""+has;
- nilai2="0";
- t.setText(nilai1);
- flag=1;
- }
- else if (flag!=1){//input nilai2
- System.out.println("nilai1:"+nilai1);
- System.out.println("masuk nilai2 input");
- if(nilai2.charAt(0)=='0')
- nilai2="";
- nilai2+=e.getActionCommand();
- t.setText(nilai2);
- }
- }
- public static void main(String[] args) {
- new JavaGUI();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement