Files
zufallswahl_bj/View.java

64 lines
2.0 KiB
Java
Raw Normal View History

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());
}
}