import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Opgave9_4 extends JFrame implements ActionListener {

    private JLabel label;
    private JButton verhoogBut,verlaagBut,initBut;
    private JTextField scoreTextField,initTextField;
    private Puntenteller puntenteller;

    public static void main(String[] args) {
        Opgave9_4 opgave9_4 = new Opgave9_4();
        opgave9_4.setSize(100,200);
        opgave9_4.createGUI();
        opgave9_4.show();
    }

    private void createGUI() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        Container window = getContentPane();
        window.setLayout(new FlowLayout());

        label = new JLabel("score");
        window.add(label);
        
        scoreTextField = new JTextField(8);
        window.add(scoreTextField);
        
        verhoogBut = new JButton("Verhoog");
        window.add(verhoogBut);
        verhoogBut.addActionListener(this);

        verlaagBut = new JButton("Verlaag");
        window.add(verlaagBut);
        verlaagBut.addActionListener(this);
        
        initBut = new JButton("Initialiseer");
        window.add(initBut);
        initBut.addActionListener(this);
        
        puntenteller = new Puntenteller();
        displayStatus();
        
        initTextField = new JTextField(8);
        window.add(initTextField);
        
    }

    public void actionPerformed(ActionEvent event) {
        Object source = event.getSource();
        
        if (source == verhoogBut) {
           puntenteller.verhoog(Integer.parseInt(initTextField.getText()));
        }
        
        if (source == verlaagBut) {
           puntenteller.verlaag(Integer.parseInt(initTextField.getText()));
        }
        
        if (source == initBut) {
            puntenteller.initialiseer(Integer.parseInt(initTextField.getText()));       
        }
        
        displayStatus();                 
        
    }
    
    private void displayStatus() {
        int value = puntenteller.getPunten();
        scoreTextField.setText(Integer.toString(value));
    }

}

