import java.awt.*; import java.awt.event.ActionListener; import java.util.List; import javax.swing.*; public class GUIView { private JFrame vinduet; private JPanel vindusPanel; private JPanel valgPanel; private JTextArea setningsTextArea; private JLabel ordLabel; public GUIView() { vinduet = new JFrame("Setningsgenerator"); vinduet.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); vindusPanel = new JPanel(); vinduet.add(vindusPanel); vindusPanel.setLayout(new BorderLayout(10, 10)); // viser ord ordLabel = new JLabel("", JLabel.CENTER); vindusPanel.add(ordLabel, BorderLayout.NORTH); // velge ord valgPanel = new JPanel(); valgPanel.setLayout(new GridLayout(3, 3, 10, 10)); vindusPanel.add(valgPanel, BorderLayout.CENTER); // vise setningen setningsTextArea = new JTextArea(5, 30); setningsTextArea.setEditable(false); setningsTextArea.setLineWrap(true); setningsTextArea.setWrapStyleWord(true); vindusPanel.add(setningsTextArea, BorderLayout.SOUTH); // sentrer og vis vindu vinduet.setSize(500, 500); vinduet.setLocationRelativeTo(null); vinduet.setVisible(true); } public void visOrd(String ord) { ordLabel.setText(ord); } public void visOrdValgListe(List ordene, ActionListener listener) { valgPanel.removeAll(); for (String ord : ordene) { JButton knapp = new JButton(ord); knapp.setActionCommand(ord); knapp.addActionListener(listener); valgPanel.add(knapp); } valgPanel.revalidate(); valgPanel.repaint(); } public void oppdaterSetning(String setning) { setningsTextArea.setText(setning); } public void visFeil(String feilMelding) { JOptionPane.showMessageDialog( vinduet, feilMelding, "Feil", JOptionPane.ERROR_MESSAGE ); } }