import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
class RechenArt extends JFrame {
String nameEingabe;
JLabel nameAusgabe;
JLabel rechenArt;
JButton addierenKnopf;
JButton subtrahierenKnopf;
JButton multiplizierenKnopf;
JButton dividierenKnopf;
JButton abbrechenKnopf;
JButton zurückKnopf;
JFrame abbrechenAbfrage;
public RechenArt(String name) { // Neues Fenster
this.nameEingabe = name;
setSize(600, 400);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() { //hier wird der Klick auf das "Rote" X abgefragt,
public void windowClosing(WindowEvent e) { //und das Abfrage fenster wiederholt
new AbbrechenAbfrage();
}
});
setTitle("Rechenprogramm");
setLocationRelativeTo(null);
setLayout(null);
setResizable(false);
setAlwaysOnTop(true);
nameAusgabe = new JLabel("<html>Hallo "+ nameEingabe + ","); //hier steht der Name der im ersten Fenster eingegeben wurde
Font Schrift = new Font("Serif", Font.BOLD, 20);
nameAusgabe.setBounds(10, -180, 580, 400);
nameAusgabe.setFont(Schrift);
add(nameAusgabe);
rechenArt = new JLabel("<html>,<p><p> hier kannst Du die Rechenart auswählen mit der Du rechnen möchtest, "
+ "oder rechts unten auf 'Abbrechen' klicken.");
rechenArt.setBounds(10, -145, 580, 400);
rechenArt.setFont(Schrift);
add(rechenArt);
addierenKnopf = new JButton("<html><center>Addieren<center>+ Rechnen"); //Der Knopf zum Addieren.
addierenKnopf.setBounds(40, 140, 180, 90);
addierenKnopf.addActionListener(new AddierenListener(this));
add(addierenKnopf);
subtrahierenKnopf = new JButton("<html><center>Subtrahieren<center>- Rechnen"); //Der Knopf zum.
subtrahierenKnopf.setBounds(250, 140, 180, 90);
subtrahierenKnopf.addActionListener(new FehlerListener1(this));
add(subtrahierenKnopf);
multiplizierenKnopf = new JButton("<html><center>Multiplizieren<center>* Rechnen"); //Der Knopf zum.
multiplizierenKnopf.setBounds(40, 260, 180, 90);
multiplizierenKnopf.addActionListener(new FehlerListener1(this));
add(multiplizierenKnopf);
dividierenKnopf = new JButton("<html><center>Dividieren<center>: Rechnen"); //Der Knopf zum.
dividierenKnopf.setBounds(250, 260, 180, 90);
dividierenKnopf.addActionListener(new FehlerListener1(this));
add(dividierenKnopf);
abbrechenKnopf = new JButton("Abbrechen"); //Der Knopf zum Abbrechen des Programms.
abbrechenKnopf.setBounds(470, 300, 100, 50);
abbrechenKnopf.addActionListener(new AbbrechenListener2(this));
abbrechenKnopf.setToolTipText("Ich hab keine Lust.");
add(abbrechenKnopf);
zurückKnopf = new JButton("Zurück"); //Der Knopf um einen Programmschritt zurück zu gehen.
zurückKnopf.setBounds(470, 230, 100, 50);
zurückKnopf.addActionListener(new ZurückListener1(this));
zurückKnopf.setToolTipText("Ich habe mich verklickt.");
add(zurückKnopf);
setVisible(true);
}
}
class AbbrechenListener2 implements ActionListener{
RechenArt fenster2;
public AbbrechenListener2(RechenArt fenster2) {
this.fenster2 = fenster2;
}
@Override
public void actionPerformed(ActionEvent e) {
new AbbrechenAbfrage();
}
}
class ZurückListener1 implements ActionListener{
RechenArt fenster2;
public ZurückListener1(RechenArt fenster2) {
this.fenster2 = fenster2;
}
@Override
public void actionPerformed(ActionEvent e) {
fenster2.dispose();
new Hauptfenster();
}
}
class AddierenListener implements ActionListener{
RechenArt fenster2;
public AddierenListener(RechenArt fenster2) {
this.fenster2 = fenster2;
}
@Override
public void actionPerformed(ActionEvent e) {
fenster2.dispose();
new Addieren(fenster2.nameAusgabe.getText()); //hier gebe ich das Label weiter an das nächste Fenster
}
}
class FehlerListener1 implements ActionListener{
RechenArt fenster2;
public FehlerListener1(RechenArt fenster2) {
this.fenster2 = fenster2;
}
@Override
public void actionPerformed(ActionEvent e) {
new Fehler();
}
}