Advertisement
tegusta

j

May 5th, 2013
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import javax.swing.JFrame;
  2. import javax.swing.Action;
  3. import javax.swing.JButton;
  4. import javax.swing.JLabel;
  5. import javax.swing.JPanel;
  6. import java.awt.GridLayout;
  7. import javax.swing.JOptionPane;
  8. import java.awt.TextField;
  9. import java.awt.event.KeyAdapter;
  10. import java.awt.event.KeyEvent;
  11. import java.awt.event.MouseAdapter;
  12. import java.awt.event.MouseEvent;
  13.  
  14. public class Calcolatrice extends JFrame{
  15.    
  16.     private JButton[] numeri = new JButton[12];
  17.     private JButton[] operatori = new JButton[4];
  18.     private TextField casellaDiCalcolo = new TextField();
  19.      private String stampa = "";
  20.  
  21.    
  22.     public Calcolatrice(){
  23.         setVisible(true);
  24.         setSize(500,500);
  25.         setLayout(new GridLayout(3,1));
  26.         add(casellaDiCalcolo);
  27.         add(new TabNumeri());
  28.         add(new TabOperatori());
  29.         addMouseListener(new AscoltatoreMouse());
  30.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  31.     }//Calcolatrice
  32.          
  33.    
  34.    class AscoltatoreMouse extends MouseAdapter{
  35.     private double op1 = 0;
  36.     private double op2 = 0;
  37.     private boolean isOp2 = false;
  38.     private String operatore = "+";
  39.  
  40.         public void mousePressed(MouseEvent e){
  41.         JButton bottoneMagico;
  42.             if(e.getComponent() instanceof JButton) {
  43.         bottoneMagico = (JButton)e.getComponent();
  44.         if(Character.isDigit(bottoneMagico.getText().charAt(0)))
  45.             casellaDiCalcolo.setText(casellaDiCalcolo.getText()+bottoneMagico.getText());
  46.             else {
  47.             operatore = bottoneMagico.getText();
  48.  
  49.             if(isOp2) {
  50.                 op2 = Double.parseDouble(casellaDiCalcolo.getText());
  51.             } else {
  52.                 op1 = Double.parseDouble(casellaDiCalcolo.getText());
  53.             }
  54.  
  55.             casellaDiCalcolo.setText("");
  56.             isOp2 = !isOp2;
  57.  
  58.             if(bottoneMagico.getText() == "=") {
  59.                 if(operatore == "+") casellaDiCalcolo.setText(""+(op1 + op2));
  60.                 if(operatore == "-") casellaDiCalcolo.setText(""+(op1 - op2));
  61.                 if(operatore == "*") casellaDiCalcolo.setText(""+(op1 * op2));
  62.                 if(operatore == "/") casellaDiCalcolo.setText(""+(op1 / op2));
  63.             }
  64.         }
  65.         }//if
  66.         }//mousePressed
  67.     }//AscoltatoreMouse
  68.        
  69.        
  70.     class TabNumeri extends JPanel{
  71.         public TabNumeri(){  
  72.             setLayout(new GridLayout(4,3));
  73.             for(int i=9;i>-1;i--){
  74.                 numeri[i] = new JButton(""+i);
  75.                 add(numeri[i]);
  76.             }//for
  77.             numeri[10] = new JButton("=");
  78.             add(numeri[10]);
  79.             numeri[11] = new JButton(".");
  80.             add(numeri[11]);
  81.         }//TabNumeri
  82.     }//TabNumeri
  83.    
  84.     class TabOperatori extends JPanel{
  85.         public TabOperatori(){
  86.             setLayout(new GridLayout(1,4));
  87.             operatori[0] = new JButton("/");
  88.             add(operatori[0]);
  89.             operatori[1] = new JButton("*");
  90.             add(operatori[1]);
  91.             operatori[2] = new JButton("-");
  92.             add(operatori[2]);
  93.             operatori[3] = new JButton("+");
  94.             add(operatori[3]);
  95.         }//TabOperatori
  96.     }//TabOperatori
  97.  
  98. }//Calcolatrice
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement