import java.awt.*; import java.awt.event.*; import javax.swing.*; class GUIUtsyn extends Utsyn { private JButton tell, resett, slutt; private JFrame vindu; private JLabel antall; private JPanel panel; class OekTeller implements ActionListener { @Override public void actionPerformed (ActionEvent e) { kontroll.oekTeller(); } } class Nuller implements ActionListener { @Override public void actionPerformed (ActionEvent e) { kontroll.nullstillTeller(); } } class Stopper implements ActionListener { @Override public void actionPerformed (ActionEvent e) { kontroll.avslutt(); } } GUIUtsyn (Kontroll k) { super(k); try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName()); } catch (Exception e) { System.exit(1); } } @Override public void init() { vindu = new JFrame("Teller"); vindu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); panel = new JPanel(); vindu.add(panel); antall = new JLabel(" 0 "); tell = new JButton(" +1 "); tell.addActionListener(new OekTeller()); resett = new JButton(" = 0 "); resett.addActionListener(new Nuller()); slutt = new JButton("Exit"); slutt.addActionListener(new Stopper()); panel.add(antall); panel.add(tell); panel.add(resett); panel.add(slutt); vindu.pack(); vindu.setLocationRelativeTo(null); vindu.setVisible(true); } @Override void visFramTeller (int t) { antall.setText(" " + t + " "); } }