As I was studying java I thought that I should challenge myself to code something in java. It would be dificult since I just learned about the features that I wanted to use in my Calculator. After rewriting it TWICE I present to you, my for educational perposes built CALCULATOR!
Since I only made this to learn more about java and just for fun I will show you the code I used:
package Programs;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame{
private JTextField Field1;
private JTextField Field2;
private JTextField Output;
private JRadioButton plus;
private JRadioButton min;
private JRadioButton keer;
private JRadioButton gedeeld;
private JButton calc;
private ButtonGroup Hoe;
private JLabel copy;
private Font fontcopy;
private double FN;
private double SN;
private int hoe=1;
private double antwoord;
public static void main(String[] args){
Calculator Calculator = new Calculator();
}
public Calculator(){
super("Calculator");
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 220);
setVisible(true);
Field1 = new JTextField("0", 25);
add(Field1);
plus = new JRadioButton("+", true);
min = new JRadioButton("-", false);
keer = new JRadioButton("*", false);
gedeeld = new JRadioButton("/", false);
add(plus);
add(min);
add(keer);
add(gedeeld);
Hoe = new ButtonGroup();
Hoe.add(plus);
Hoe.add(min);
Hoe.add(keer);
Hoe.add(gedeeld);
Field2 = new JTextField("0", 25);
add(Field2);
calc = new JButton("Calculate");
add(calc);
Output = new JTextField("0", 25);
Output.setEditable(false);
add(Output);
fontcopy = new Font("Arial",Font.ITALIC,10);
copy = new JLabel("Copyright © 2011 Winner. All rights reserved.");
copy.setFont(fontcopy);
add(copy);
plus.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event) {
if(event.getSource() == plus && event.getStateChange() == event.SELECTED){
hoe = 1;
}
}
}
);
min.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event) {
if(event.getSource() == min && event.getStateChange() == event.SELECTED){
hoe = 2;
}
}
}
);
keer.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event) {
if(event.getSource() == keer && event.getStateChange() == event.SELECTED){
hoe = 3;
}
}
}
);
gedeeld.addItemListener(
new ItemListener(){
public void itemStateChanged(ItemEvent event) {
if(event.getSource() == gedeeld && event.getStateChange() == event.SELECTED){
hoe = 4;
}
}
}
);
calc.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event) {
String temp = "";
String tempmanier = "";
try{
FN = Double.parseDouble(Field1.getText());
SN = Double.parseDouble(Field2.getText());
if(event.getSource() == calc){
switch(hoe){
case 1:
antwoord = FN + SN;
tempmanier = "+";
break;
case 2:
antwoord = FN - SN;
tempmanier = "-";
break;
case 3:
antwoord = FN * SN;
tempmanier = "*";
break;
case 4:
if(FN == 0 || SN == 0){
antwoord = 666.1337;
}else{
antwoord = FN / SN;
tempmanier = "/";
}
}
}
Output.setText(temp.format("%s", antwoord));
Output.setToolTipText(temp.format("%s%s%s=%s", FN, tempmanier,SN,antwoord));
}catch(Exception e){
Output.setText("ERROR: Don't enter letters");
}
}
}
);
}
}Pic:
DOWNLOADNOTE:When you download the file and you start it you will have to maximize and put it back to normal in order to let all the stuff appear on the GUI (I have no idea how to fix that)