mercoledì 11 febbraio 2009

La mia Calcolatrice

Salve a tutti, è da un pò che non pubblico qualcosa di interessante, bene oggi proporrò un'esempio di calcolatrice personalizzata che ognuno poi potrà arricchirla ulteriormente con più istruzioni:


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calcolatrice{
private JFrame f=new JFrame("Calcolatrice");
private Pannello p=new Pannello();
private JButton addizione;
private JButton sottrazione;
private JButton moltiplicazione;
private JButton divisione;
private JButton radiceQuad;
private JButton uno;
private JButton due;
private JButton tre;
private JButton quattro;
private JButton cinque;
private JButton sei;
private JButton sette;
private JButton otto;
private JButton nove;
private JButton zero;
private JLabel nome;
private JLabel nomeDue=new JLabel("digita il secondo numero");
private JLabel r=new JLabel();
private JLabel r1=new JLabel("risultato operazione");
private Pannello numeri;
private PannelloComandi operazioni;
private JTextField inCom;
private JTextField in1;
private JTextField in2;


public Calcolatrice(){

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,500);
f.setLayout(new GridLayout(4,2));
numeri=new Pannello();
operazioni=new PannelloComandi();
nome=new JLabel("digita il primo numero");
inCom=new JTextField();
in1=new JTextField();
in2=new JTextField();


f.add(operazioni);
f.add(numeri);
f.add(in1);
f.add(nome);
f.add(in2);
f.add(nomeDue);
f.add(r1);
f.add(r);
addizione.addActionListener(new somma());
sottrazione.addActionListener(new sottrazione());
moltiplicazione.addActionListener(new moltiplicazione());
divisione.addActionListener(new divisione());
radiceQuad.addActionListener(new radiceQuad());
f.setVisible(true);
}
public class Pannello extends JPanel{
public Pannello(){

uno=new JButton("1");
this.add(uno);
due=new JButton("2");
this.add(due);
tre=new JButton("3");
this.add(tre);
quattro=new JButton("4");
this.add(quattro);
cinque=new JButton("5");
this.add(cinque);
sei=new JButton("6");
this.add(sei);
sette=new JButton("7");
this.add(sette);
otto=new JButton("8");
this.add(otto);
nove=new JButton("9");
this.add(nove);
zero=new JButton("0");
this.add(zero);

}
}
public class PannelloComandi extends JPanel{
public PannelloComandi(){

addizione=new JButton("+");
this.add(addizione);
sottrazione=new JButton("-");
this.add(sottrazione);
moltiplicazione=new JButton("X");
this.add(moltiplicazione);
divisione=new JButton(":");
this.add(divisione);
radiceQuad=new JButton("Rad");
this.add(radiceQuad);
}
}
public class somma implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double s=x1+x2;
String risultato=Double.toString(s);
r.setText(risultato);
}
}
public class sottrazione implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double sot=x1-x2;
String risultato=Double.toString(sot);
r.setText(risultato);
}
}
public class moltiplicazione implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double m=x1*x2;
String risultato=Double.toString(m);
r.setText(risultato);
}
}
public class divisione implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double d=x1/x2;
String risultato=Double.toString(d);
r.setText(risultato);
}
}
public class radiceQuad implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
double x1=Double.parseDouble(t1);
double rad=Math.sqrt(x1);
String risultato=Double.toString(rad);
r.setText(risultato);
}
}

public static void main(String[] args){
Calcolatrice c=new Calcolatrice();
}

}

Ecco la mia calcolatrice personale:

Nessun commento: