without any further ado:
Spoiler:
- Code: Select all
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class Calc extends JApplet
{
double mem1, mem2;
char action;
public void init()
{
try
{
SwingUtilities.invokeAndWait(new Runnable()
{
public void run()
{
makeGUI();
}
});
} catch(Exception exc)
{
System.out.println("Can't create because of " + exc);
}
}
private void makeGUI ()
{
//Layout and buttons
setLayout(new FlowLayout());
final JTextField input = new JTextField (15);
JButton plus = new JButton("+");
JButton minus = new JButton("-");
JButton mult = new JButton("*");
JButton div = new JButton("/");
JButton eq = new JButton("=");
JButton period = new JButton(".");
JButton one = new JButton("1");
JButton two = new JButton("2");
JButton three = new JButton("3");
JButton four = new JButton("4");
JButton five = new JButton("5");
JButton six = new JButton("6");
JButton seven = new JButton("7");
JButton eight = new JButton("8");
JButton nine = new JButton("9");
JButton zero = new JButton("0");
JButton clear = new JButton("Clear");
JButton clearAll = new JButton("Clear All");
//listener for clear
clear.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String msg = input.getText();
input.setText(msg.substring(0, msg.length()-1));
}
});
//listener for clearAll
clearAll.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
input.setText("");
}
});
//listener for plus
plus.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
action = '+';
mem1 = Double.parseDouble(input.getText());
input.setText("");
input.requestFocusInWindow();
}
});
//listener for minus
minus.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
action = '-';
mem1 = Double.parseDouble(input.getText());
input.setText("");
input.requestFocusInWindow();
}
});
//listener for mult
mult.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
action = '*';
mem1 = Double.parseDouble(input.getText());
input.setText("");
input.requestFocusInWindow();
}
});
//listener for div
div.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
action = '/';
mem1 = Double.parseDouble(input.getText());
input.setText("");
input.requestFocusInWindow();
}
});
//listener for eq
eq.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
mem2 = Double.parseDouble(input.getText());
switch(action)
{
case '+':
input.setText(Double.toString(mem1+mem2));
break;
case '-':
input.setText(Double.toString(mem1-mem2));
break;
case '*':
input.setText(Double.toString(mem1*mem2));
case '/':
input.setText(Double.toString(mem1/mem2));
}
}
});
//listeners for numbers
one.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + "1");
}
});
two.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + "2");
}
});
three.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + "3");
}
});
four.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + "4");
}
});
five.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + "5");
}
});
six.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + "6");
}
});
seven.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + "7");
}
});
eight.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + "8");
}
});
nine.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + "9");
}
});
zero.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + "0");
}
});
period.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
String num = input.getText();
input.setText(num + ".");
}
});
//end of listeners for numbers
add(input);
clearAll.setPreferredSize(new Dimension(100, 26));
add(clearAll);
add(clear);
add(one);
add(two);
add(three);
add(plus);
add(four);
add(five);
add(six);
add(minus);
add(seven);
add(eight);
add(nine);
add(mult);
add(period);
add(zero);
add(eq);
add(div);
}
}
I've also uploaded it online, so if you just see what it looks...
http://cromulen7.comule.com/Java/calc2/page.html
so, any tips?
