import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Rational extends JFrame implements ActionListener
{
JButton plus;
JButton minus;
JButton mal;
JButton durch;
JButton gleich;
JButton clear;
JTextField zaehler;
JTextField nenner;
int[] zaehler_zahl = new int[3];
int[] nenner_zahl = new int[3];
int c;
String a = "";
public Rational()
{
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
});
JPanel panel = new JPanel();
panel.setLayout(null);
getContentPane().add(panel);
zaehler = new JTextField();
zaehler.setBounds(20, 80, 25, 25);
panel.add(zaehler);
nenner = new JTextField();
nenner.setBounds(20, 125, 25, 25);
panel.add(nenner);
plus = new JButton("+");
plus.setBounds(20, 200, 25, 25);
plus.addActionListener(this);
panel.add(plus);
minus = new JButton("-");
minus.setBounds(65, 200, 25, 25);
minus.addActionListener(this);
panel.add(minus);
mal = new JButton("*");
mal.setBounds(110, 200, 25, 25);
mal.addActionListener(this);
panel.add(mal);
durch = new JButton("/");
durch.setBounds(155, 200, 25, 25);
durch.addActionListener(this);
panel.add(durch);
gleich = new JButton("=");
gleich.setBounds(200, 200, 25, 25);
gleich.addActionListener(this);
panel.add(gleich);
clear = new JButton("C");
clear.setBounds(245, 200, 25, 25);
clear.addActionListener(this);
panel.add(clear);
}
public int addieren(int a, int b)
{
c = (a + b);
return c;
}
public int subtrahieren(int a, int b)
{
c = (a - b);
return c;
}
public int multiplizieren(int a, int b)
{
c = (a * b);
return c;
}
public void clear(JTextField a, JTextField b)
{
a.setText("");
b.setText("");
}
public void actionPerformed(ActionEvent e)
{
Object quelle = e.getSource();
zaehler_zahl[0] = Integer.parseInt(zaehler.getText());
nenner_zahl[0] = Integer.parseInt(nenner.getText());
if(quelle == plus)
{
a = "+";
clear(zaehler, nenner);
}
else if(quelle == minus)
{
a = "-";
clear(zaehler, nenner);
}
else if(quelle == mal)
{
a = "*";
clear(zaehler, nenner);
}
else if(quelle == durch)
{
a = "/";
clear(zaehler, nenner);
}
else if(quelle == gleich)
{
if(a == "")
{
System.out.print("Sie haben keine Eingaben getätigt");
}
else if(a == "+")
{
zaehler_zahl[1] = Integer.parseInt(zaehler.getText());
nenner_zahl[1] = Integer.parseInt(nenner.getText());
zaehler_zahl[2] = addieren(zaehler_zahl[0],zaehler_zahl[1]);
nenner_zahl[2] = addieren(nenner_zahl[0],nenner_zahl[1]);
}
else if(a == "-")
{
zaehler_zahl[1] = Integer.parseInt(zaehler.getText());
nenner_zahl[1] = Integer.parseInt(nenner.getText());
zaehler_zahl[2] = subtrahieren(zaehler_zahl[0],zaehler_zahl[1]);
nenner_zahl[2] = subtrahieren(nenner_zahl[0],nenner_zahl[1]);
}
else if(a == "*")
{
zaehler_zahl[1] = Integer.parseInt(zaehler.getText());
nenner_zahl[1] = Integer.parseInt(nenner.getText());
zaehler_zahl[2] = multiplizieren(zaehler_zahl[0],zaehler_zahl[1]);
nenner_zahl[2] = multiplizieren(nenner_zahl[0],nenner_zahl[1]);
}
else if(a == "/")
{
zaehler_zahl[1] = Integer.parseInt(zaehler.getText());
nenner_zahl[1] = Integer.parseInt(nenner.getText());
zaehler_zahl[2] = multiplizieren(zaehler_zahl[0],nenner_zahl[1]);
nenner_zahl[2] = multiplizieren(nenner_zahl[0],zaehler_zahl[1]);
}
zaehler.setText(new Integer(zaehler_zahl[2]).toString());
nenner.setText(new Integer(nenner_zahl[2]).toString());
}
else if(quelle == clear)
{
clear(zaehler, nenner);
}
}
public static void main(String args[])
{
Rational fridolin = new Rational();
fridolin.setSize(300, 300);
fridolin.setLocation(100, 100);
fridolin.setTitle("Rational");
fridolin.setVisible(true);
}
}