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