public class prova extends javax.swing.JFrame {
public prova() {
initComponents();
}
private void initComponents() {
Corpo = new javax.swing.JPanel();
Tastiera = new javax.swing.JPanel();
Uguale = new javax.swing.JButton();
Per = new javax.swing.JButton();
Meno = new javax.swing.JButton();
Diviso = new javax.swing.JButton();
Piu = new javax.swing.JButton();
Numero1 = new javax.swing.JButton();
Numero2 = new javax.swing.JButton();
schermo = new javax.swing.JLabel();
setTitle("Calcolatrice");
setBackground(new java.awt.Color(153, 153, 255));
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
Corpo.setLayout(new java.awt.BorderLayout());
Tastiera.setLayout(new java.awt.GridLayout(3, 3));
Tastiera.add(Numero2);
Tastiera.add(Numero1);
Tastiera.add(Uguale);
Tastiera.add(Per);
Tastiera.add(Piu);
Tastiera.add(Diviso);
Tastiera.add(Meno);
Numero2.setText("2");
Numero2.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
Numero2MouseClicked(evt);
}
});
Numero1.setText("1");
Numero1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
Numero2MouseClicked(evt);
}
});
Meno.setText("-");
Meno.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
MenoMouseClicked(evt);
}
});
Diviso.setText("/");
Diviso.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
DivisoMouseClicked(evt);
}
});
Piu.setText("+");
Piu.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
PiuMouseClicked(evt);
}
});
Per.setText("*");
Per.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
PerMouseClicked(evt);
}
});
Uguale.setText("=");
Uguale.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
UgualeMouseClicked(evt);
}
});
Corpo.add(Tastiera, java.awt.BorderLayout.CENTER);
schermo.setBackground(new java.awt.Color(255, 255, 255));
schermo.setText(" ");
schermo.setBorder(new javax.swing.border.MatteBorder(null));
schermo.setHorizontalTextPosition(javax.swing.Swin gConstants.RIGHT);
Corpo.add(schermo, java.awt.BorderLayout.NORTH);
getContentPane().add(Corpo, java.awt.BorderLayout.CENTER);
pack();
}
private void UgualeMouseClicked(java.awt.event.MouseEvent evt) {
switch(operazione){
case 1: schermo.setText(Integer.toString(membro1 + membro2)); break;
case 2: schermo.setText(Integer.toString(membro1 - membro2)); break;
case 3: schermo.setText(Integer.toString(membro1 * membro2)); break;
case 4: schermo.setText(Integer.toString(membro1 / membro2)); break;
}
operazione = 0;
input1 = null;
input2 = null;
membro1 = 0;
membro2 = 0;
}
private void DivisoMouseClicked(java.awt.event.MouseEvent evt) {
operazione = 4;
}
private void PerMouseClicked(java.awt.event.MouseEvent evt) {
operazione = 3;
}
private void MenoMouseClicked(java.awt.event.MouseEvent evt) {
operazione = 2;
}
private void PiuMouseClicked(java.awt.event.MouseEvent evt) {
operazione = 1;
}
private void Numero2MouseClicked(java.awt.event.MouseEvent evt) {
if (operazione == 0) {
input1 = input1 + "2";
membro1 = Integer.parseInt(input1);
schermo.setText("input1");
}
else {
input2 = input2 + "2";
membro2 = Integer.parseInt(input2);
schermo.setText("input1");
}
}
private void Numero1MouseClicked(java.awt.event.MouseEvent evt) {
if (operazione == 0) {
input1 = input1 + "1";
membro1 = Integer.parseInt(input1);
schermo.setText("input1");
}
else {
input2 = input2 + "1";
membro2 = Integer.parseInt(input2);
schermo.setText("input1");
}
}
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
public static void main(String args[]) {
new prova().show();
}
private javax.swing.JPanel Corpo;
private javax.swing.JPanel Tastiera;
private javax.swing.JButton Numero1;
private javax.swing.JButton Numero2;
private javax.swing.JButton Uguale;
private javax.swing.JButton Meno;
private javax.swing.JButton Diviso;
private javax.swing.JButton Piu;
private javax.swing.JButton Per;
private javax.swing.JLabel schermo;
private int membro1 = 0;
private int membro2 = 0;
private String input1 = null;
private String input2 = null;
private int operazione = 0;
private int risultato = 0;
}
non spaventatevi....questa è una versione semplificata del programmino che ho messo su in queste orette...sto cercando di fare una calcolatrice....sto cercando un metodo per farla funzionare...
non so se si capisce il codice...è un po incasinato cmq sia a parte il jPanel Corpo che mi è stato detto essere inutile non riesco a far funzionare i tasti come voglio io...
allora, per effettuare le operazioni ho deciso di appoggiarmi ad una variabile int operazione che viene inizializzata ogni vola che viene premuto un tasto corrispondente ad una operazione....
per scrivere i membri dell'operazione quando si preme un tasto viene controllata la variabile operazione e se questa è diversa da 0 vengono aggiornate le variabili int membro2 e String input2 (so che potrei eliminare la variabile inputX e effettuare un toString da passare al .setText() ma mi è venuto in mente dopo averlo scritto.... :tongue: )altrimenti vengono aggiornate le variabilei input1 e membro1 (che corrispondono in parole povere ai primi membri dell'operazione)..
infine quando si preme uguale con uno switch...case effettuo l operazione tra membro1 e membro2 e stampo il risultato sull etichetta....
o almeno questo è quello che avevo pensato facesse ma invece provando il programma quando premo i tasti non succede niente....
magari ci sarebbe un algoritmo migliore del mio ma a me ora come ora non viene in mente niente...