// importo packages
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import Func.Func;
// classe della finestra principale
@SuppressWarnings("serial")
public class Finestramenu
extends Frame {
boolean equ;
int opdef = 0, adv = 0;
float res = 0;
// bottoni base
// bottoni math
public Finestramenu() {
setupEventi();
setupElementi();
file.add(bas1); file.add(adv1);
help.add(aiuto); barra.add(file);
barra.setHelpMenu(help);
setMenuBar(barra);
// aggiungo elementi
add(t1); add(b1); add(b2); add(b3); add(b4);
add(b5); add(b6); add(b7); add(b8); add(b9);
add(b0); add(bp); add(bm); add(bd); add(bx);
add(bn); add(button); add(bf);
doLayout();
pack();
addWindowListener(new FinestramenuWindowListener());
}
// metodo main
public static void Run() {
Finestramenu frame = new Finestramenu();
frame.setBounds(10,53,220,300);
frame.setTitle("Calc++");
frame.setVisible(true);
}
// Action Listener del Menu
if(e.getActionCommand().compareTo("Esci")==0) {
}
if(e.getActionCommand().compareTo("Help")==0) {
showHelp();
}
if(e.getActionCommand().compareTo("Somma")==0) {
Somma();
}
if(e.getActionCommand().compareTo("1")==0) {
t1.
setText(t1.
getText() + Integer.
parseInt("1"));
}
if(e.getActionCommand().compareTo("2")==0) {
t1.
setText(t1.
getText() + Integer.
parseInt("2"));
}
if(e.getActionCommand().compareTo("3")==0) {
t1.
setText(t1.
getText() + Integer.
parseInt("3"));
}
if(e.getActionCommand().compareTo("4")==0) {
t1.
setText(t1.
getText() + Integer.
parseInt("4"));
}
if(e.getActionCommand().compareTo("5")==0) {
t1.
setText(t1.
getText() + Integer.
parseInt("5"));
}
if(e.getActionCommand().compareTo("6")==0) {
t1.
setText(t1.
getText() + Integer.
parseInt("6"));
}
if(e.getActionCommand().compareTo("7")==0) {
t1.
setText(t1.
getText() + Integer.
parseInt("7"));
}
if(e.getActionCommand().compareTo("8")==0) {
t1.
setText(t1.
getText() + Integer.
parseInt("8"));
}
if(e.getActionCommand().compareTo("9")==0) {
t1.
setText(t1.
getText() + Integer.
parseInt("9"));
}
if(e.getActionCommand().compareTo("0")==0) {
t1.
setText(t1.
getText() + Integer.
parseInt("0"));
}
if(e.getActionCommand().compareTo("+")==0) {
if(t1.getText().compareTo("")==0) {
t1.setText("0");
}
opdef = 1;
res
= Float.
parseFloat(t1.
getText());
t1.setText("");
equ = false;
}
if(e.getActionCommand().compareTo("*")==0) {
if(t1.getText().compareTo("")==0) {
t1.setText("0");
}
opdef = 2;
res
= Float.
parseFloat(t1.
getText());
t1.setText("");
equ = false;
}
if(e.getActionCommand().compareTo("/")==0) {
if(t1.getText().compareTo("")==0) {
t1.setText("0");
}
opdef = 4;
res
= Float.
parseFloat(t1.
getText());
t1.setText("");
equ = false;
}
if(e.getActionCommand().compareTo("-")==0) {
if(t1.getText().compareTo("")==0) {
t1.setText("0");
}
opdef = 3;
res
= Float.
parseFloat(t1.
getText());
t1.setText("");
equ = false;
}
if(e.getActionCommand().compareTo("=")==0) {
OperationDo();
}
if(e.getActionCommand().compareTo("C")==0) {
t1.setText("");
res = 0;
}
if(e.getActionCommand().compareTo("Math")==0) {
setMath();
}
if(e.getActionCommand().compareTo("Base")==0) {
setBase();
}
if(e.getActionCommand().compareTo("cos")==0) {
double cos
= Math.
cos(Double.
parseDouble(t1.
getText()));
cos = Func.RoundDouble(cos, 3);
t1.
setText(Double.
toString(cos
));
}
if(e.getActionCommand().compareTo("pi")==0) {
t1.setText("3.14159");
}
if(e.getActionCommand().compareTo("Advanced")==0) {
setMath();
}
if(e.getActionCommand().compareTo("Base")==0) {
setBase();
}
}
}
// window listener - apparentemente inutile
{
System.
out.
println("Loop on Window Activated");
}
System.
out.
println("Loop on Window Closed");
}
{
System.
out.
println("Loop on Window Closing");
dispose();
}
System.
out.
println("Loop on Window Deactivaded");
}
System.
out.
println("Loop on Window Deiconified");
}
System.
out.
println("Loop on Window Iconified");
}
System.
out.
println("Loop on Window Opened");
}
}
// Metodo di aiuto
public void showHelp() {
"<br>by MagicStcik(c) Software<br><br>" +
"Questo programma è sotto la<br>licenza" +
"<font color='blue'> Creative Commons<br> License" +
help_1.setBounds(0,10,300,20);
frame.add(help_1);
frame.setBounds(525,300,220,300);
frame.setVisible(true);
}
// setup degli elementi
public void setupElementi() {
risultato.setBounds(300,20,300,30);
t1.setBounds(10,10, 100,40);
t1.
setBackground(Color.
gray);
t2.
setBackground(Color.
gray);
button.setSize(40,30);
}
// sistema di controllo somma
public void Somma() {
risultato.setText("+");
}
public void OperationDo() {
float temp
= Float.
parseFloat(t1.
getText());
if(opdef == 1) {
temp = res + temp;
}
if(opdef == 2) {
temp = res * temp;
}
if(opdef == 4) {
if(equ == false) {
temp = res / temp;
}
else {
temp = temp / res;
}
}
if(opdef == 3) {
if(equ == false) {
temp = res - temp;
}
else {
temp = temp - res;
}
}
if(equ == false) {
res
= Float.
parseFloat(t1.
getText());
}
equ = true;
t1.
setText(Float.
toString(temp
));
}
// cambio di layout
public void setMath() {
bf.setText("Base");
addButtonMath();
doLayout();
}
public void setBase() {
bf.setText("Math");
removeButtonMath();
doLayout();
}
public void addButtonMath() {
add(blog); add(bln); add(bcos);
add(bsin); add(be); add(bpi);
}
public void removeButtonMath() {
remove(blog); remove(bln); remove(bcos);
remove(bsin); remove(be); remove(bpi);
}
//setup degli ActionListener
void setupEventi() {
// listener del menu
aiuto.addActionListener(new AscoltatoreMenu());
somma.addActionListener(new AscoltatoreMenu());
esci.addActionListener(new AscoltatoreMenu());
b1.addActionListener(new AscoltatoreMenu());
adv1.addActionListener(new AscoltatoreMenu());
bas1.addActionListener(new AscoltatoreMenu());
// listener dei bottoni
b2.addActionListener(new AscoltatoreMenu());
b3.addActionListener(new AscoltatoreMenu());
b4.addActionListener(new AscoltatoreMenu());
b5.addActionListener(new AscoltatoreMenu());
b6.addActionListener(new AscoltatoreMenu());
b7.addActionListener(new AscoltatoreMenu());
b8.addActionListener(new AscoltatoreMenu());
b9.addActionListener(new AscoltatoreMenu());
b0.addActionListener(new AscoltatoreMenu());
bp.addActionListener(new AscoltatoreMenu());
bx.addActionListener(new AscoltatoreMenu());
bm.addActionListener(new AscoltatoreMenu());
bd.addActionListener(new AscoltatoreMenu());
bn.addActionListener(new AscoltatoreMenu());
bf.addActionListener(new AscoltatoreMenu());
button.addActionListener(new AscoltatoreMenu());
// listener bottoni math
blog.addActionListener(new AscoltatoreMenu());
bln.addActionListener(new AscoltatoreMenu());
bpi.addActionListener(new AscoltatoreMenu());
be.addActionListener(new AscoltatoreMenu());
bcos.addActionListener(new AscoltatoreMenu());
bsin.addActionListener(new AscoltatoreMenu());
}
}