64 lines
2.0 KiB
Java
64 lines
2.0 KiB
Java
|
|
import javax.swing.*;
|
||
|
|
import java.awt.*;
|
||
|
|
import java.awt.event.ActionEvent;
|
||
|
|
import java.awt.event.ActionListener;
|
||
|
|
|
||
|
|
public class View implements Observer {
|
||
|
|
Kontrolleur kontrolleur;
|
||
|
|
Zufallszahlengenerator zufallszahlengenerator;
|
||
|
|
JFrame fenster;
|
||
|
|
JButton generierKnopf;
|
||
|
|
JTextField eingabeFeld;
|
||
|
|
JLabel ausgabeFeld;
|
||
|
|
|
||
|
|
public View() {
|
||
|
|
fenster = new JFrame("Zufallswahl");
|
||
|
|
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||
|
|
fenster.setSize(480,240);
|
||
|
|
|
||
|
|
eingabeFeld = new JTextField();
|
||
|
|
generierKnopf = new JButton("Generiere Zufallszahl");
|
||
|
|
ausgabeFeld = new JLabel("Willkommen beim Zufallszahlengenerator!");
|
||
|
|
|
||
|
|
registriereListener();
|
||
|
|
|
||
|
|
Container oberfläche = fenster.getContentPane();
|
||
|
|
oberfläche.add(eingabeFeld, BorderLayout.NORTH);
|
||
|
|
oberfläche.add(generierKnopf, BorderLayout.CENTER);
|
||
|
|
oberfläche.add(ausgabeFeld, BorderLayout.SOUTH);
|
||
|
|
|
||
|
|
fenster.setVisible(true);
|
||
|
|
}
|
||
|
|
|
||
|
|
public void setKontrolleur(Kontrolleur k) {
|
||
|
|
this.kontrolleur = k;
|
||
|
|
}
|
||
|
|
|
||
|
|
public void setZufallszahlengenerator(Zufallszahlengenerator z) {
|
||
|
|
this.zufallszahlengenerator = z;
|
||
|
|
}
|
||
|
|
|
||
|
|
private void registriereListener() {
|
||
|
|
this.generierKnopf.addActionListener(new ActionListener() {
|
||
|
|
@Override
|
||
|
|
public void actionPerformed(ActionEvent e) {
|
||
|
|
if (kontrolleur.setObergrenze(eingabeFeld.getText())) {
|
||
|
|
kontrolleur.weiseAnZufallszahl();
|
||
|
|
} else {
|
||
|
|
ausgabeFeld.setText("Gib eine ganze Zahl an!");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void update() {
|
||
|
|
StringBuilder ausgabeText = new StringBuilder();
|
||
|
|
ausgabeText.append("Zufallszahl: ");
|
||
|
|
ausgabeText.append(this.zufallszahlengenerator.getZufallszahl());
|
||
|
|
ausgabeText.append(" | Obergrenze: ");
|
||
|
|
ausgabeText.append(this.zufallszahlengenerator.getObergrenze());
|
||
|
|
this.ausgabeFeld.setText(ausgabeText.toString());
|
||
|
|
}
|
||
|
|
}
|