/* B E S C H R E I B U N G
Einfache Demo eines Schiebereglers.
*/

package slider1;
import javax.swing.event.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MainSlider1 {
    public static void main(String[] args){
        Container myCont;
        MyZeichenflaeche myZ = new MyZeichenflaeche();
        JFrame f = new JFrame();
        f.setSize(700, 500);
        myCont=f.getContentPane();
        myCont.add(myZ);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
    }
}

class MyZeichenflaeche extends JPanel{
	//private GridLayout myGL11;

    public MyZeichenflaeche(){
        // Schieberegler
        JSlider slider = new JSlider();;
        // Grid-Layout
        GridLayout myGL11 = new GridLayout(1,2);
        // Wanze am Schieberegler
        MyWanzeSlider wanzeSlider = new MyWanzeSlider();
        // slider an der Zeichenfläche anbringen
        add(slider);

        slider.setMinimum(0);
        slider.setMaximum(100);
        slider.setValue(0);
        slider.setOrientation(JSlider.HORIZONTAL);
        slider.setPaintLabels(true);
        slider.setPaintTicks(true);
        slider.setMajorTickSpacing(10 );
        Hashtable labelTable = new Hashtable();
        labelTable.put(new Integer(50), new JLabel("50"));
        labelTable.put(new Integer(100), new JLabel("100"));
        slider.setLabelTable(labelTable);
        // slider an die Wanze anbringen
         slider.addChangeListener (wanzeSlider);

    }
}


/*
Ein Anwender bewegt mit der Maus das Schieberegister. Dies wird vom
Betriebssystem registriert. Dies ermittelt, welcher Anwendung diese Aktion
galt und gibt diese Informationen (Koordinaten, Taste, Zeitpunkt, usw.) an die
Java-Laufzeitumgebung (JRE) weiter.
Die JRE ermittelt, welcher Komponente (Button, Textfeld, usw.) dieser Aktion
galt. 
Da hier an diesem Schieberegister eine Wanze angebracht wurde, wird an die
entsprechende Methode der Wanze (stateChanged) ein von der JRE erzeugtes
Ereignisobjekt (vom Typ ChangeEvent) als Parameter übergeben.
In dieser Methode muss die gewünschte Benutzeraktion veranlasst werden.
*/

class MyWanzeSlider implements ChangeListener {

    public void stateChanged (ChangeEvent e) {
        int wert;
        JSlider s = (JSlider)(e.getSource ());
        wert = s.getValue();
        System.out.println("Wert ist ="+wert);
    }

    public MyWanzeSlider(){
    }
}



