import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*; 

public class useThermometer extends JFrame implements ChangeListener, ActionListener {

//Sommige thermometers houden de bereikte maximum - en minimumtemperaturen bij.
/* Schrijf een programma dat een thermometer nabootst door een schuifregelaar te gebruiken.
 * Het moet in tektsvelden de maximum- en minimumwaarden laten zien, waarop de
 * schuifregelaar werd ingesteld. Schrijf het deel van het programma dat de grootste en de
 * kleinste waarden onthoudt en deze met nieuwe waarden vergelijkt, als een aparte klasse.
 * Deze klasse heeft de methoden setHoogsteWaarde,setLaagsteWaarde, getLaagsteWaarde, getHoogsteWaarde
*/
	    
    private JSlider slider;
    private JTextField textField,minTextField;
    private JButton button;
    private Thermometer thermometer;

 

    public static void main(String[] args) {
        useThermometer demo = new useThermometer();
        demo.setSize(500,300);
        demo.createGUI();
        demo.show();
    }

    private void createGUI() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        Container window = getContentPane();
        window.setLayout(new FlowLayout());
        slider = new JSlider(JSlider.VERTICAL, 0, 100, 50);
        slider.setMajorTickSpacing(10);
        slider.setPaintTicks(true);
        slider.addChangeListener(this);
        window.add(slider);

        textField = new JTextField(12);
        window.add(textField);
        
        minTextField = new JTextField(12);
        window.add(minTextField);

        button = new JButton("reset");
        button.addActionListener(this);
        window.add(button);
        
        thermometer = new Thermometer();
        
    }

    public void stateChanged(ChangeEvent e) {
        int temp;    
        temp = slider.getValue();
        if (temp > thermometer.getHoogsteWaarde()) {
            thermometer.setHoogsteWaarde(temp);
        }
        
        if (temp < thermometer.getLaagsteWaarde()) {
        	thermometer.setLaagsteWaarde(temp);
        	
        }
        display();
    }

    public void actionPerformed(ActionEvent event) {
        textField.setText("");
        minTextField.setText("");
        thermometer.setLaagsteWaarde(100);
        thermometer.setHoogsteWaarde(0);
    }

    private void display() {
        textField.setText("maximum value is " + thermometer.getHoogsteWaarde());
        minTextField.setText("minimum value is " + thermometer.getLaagsteWaarde());
    }
}

