/* * NoBindingCaricatureController.java * * Created on April 10, 2006, 11:16 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package caricature; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JFrame; import javax.swing.UIManager; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; /** * * @author sky */ public class NoBindingCaricatureController extends CaricatureController { public static void main(String[] args) throws Throwable { show(new NoBindingCaricatureController()); } NoBindingCaricatureController() { eyesSlider.addChangeListener(new EyesChangeHandler()); faceSlider.addChangeListener(new FaceChangeHandler()); mouthSlider.addChangeListener(new MouthChangeHandler()); hairSlider.addChangeListener(new HairChangeHandler()); noseSlider.addChangeListener(new NoseChangeHandler()); scaleSlider.addChangeListener(new ScaleChangeHandler()); rotationSlider.addChangeListener(new RotationChangeHandler()); caricature.addPropertyChangeListener(new CaricaturePropertyChangeHandler()); } private class CaricaturePropertyChangeHandler implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent e) { String name = e.getPropertyName(); if (name == "eyeStyle") { eyesSlider.setValue(caricature.getEyeStyle()); } else if (name == "faceStyle") { faceSlider.setValue(caricature.getFaceStyle()); } else if (name == "mouthStyle") { mouthSlider.setValue(caricature.getMouthStyle()); } else if (name == "hairStyle") { hairSlider.setValue(caricature.getHairStyle()); } else if (name == "noseStyle") { noseSlider.setValue(caricature.getNoseStyle()); } else if (name == "scale") { int sliderValue = (int)(caricature.getScale() * 100f); scaleSlider.setValue(sliderValue); } else if (name == "rotation") { rotationSlider.setValue(caricature.getRotation()); } } } private class EyesChangeHandler implements ChangeListener { public void stateChanged(ChangeEvent e) { caricature.setEyeStyle(eyesSlider.getValue()); } } private class FaceChangeHandler implements ChangeListener { public void stateChanged(ChangeEvent e) { caricature.setFaceStyle(faceSlider.getValue()); } } private class MouthChangeHandler implements ChangeListener { public void stateChanged(ChangeEvent e) { caricature.setMouthStyle(mouthSlider.getValue()); } } private class HairChangeHandler implements ChangeListener { public void stateChanged(ChangeEvent e) { caricature.setHairStyle(hairSlider.getValue()); } } private class NoseChangeHandler implements ChangeListener { public void stateChanged(ChangeEvent e) { caricature.setNoseStyle(noseSlider.getValue()); } } private class ScaleChangeHandler implements ChangeListener { public void stateChanged(ChangeEvent e) { float scale = (float)scaleSlider.getValue() / 100.0f; caricature.setScale(scale); } } private class RotationChangeHandler implements ChangeListener { public void stateChanged(ChangeEvent e) { caricature.setRotation(rotationSlider.getValue()); } } }