/* * CaricatureControllerBinding.java * * Created on April 10, 2006, 2:36 PM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package caricature; import binding.BindingContext; import binding.BindingConverter; import binding.BindingDescription; import binding.swing.SwingBindingSupport; /** * * @author sky */ public class BindingCaricatureController extends CaricatureController { public static void main(String[] args) throws Throwable { SwingBindingSupport.register(); show(new BindingCaricatureController()); } public BindingCaricatureController() { BindingContext context = new BindingContext(); context.addDescription(new BindingDescription(caricature, "eyeStyle", eyesSlider, "value")); context.addDescription(new BindingDescription(caricature, "faceStyle", faceSlider, "value")); context.addDescription(new BindingDescription(caricature, "mouthStyle", mouthSlider, "value")); context.addDescription(new BindingDescription(caricature, "hairStyle", hairSlider, "value")); context.addDescription(new BindingDescription(caricature, "noseStyle", noseSlider, "value")); context.addDescription(new BindingDescription(caricature, "rotation", rotationSlider, "value")); BindingDescription scaleDescription = new BindingDescription( caricature, "scale", scaleSlider, "value"); scaleDescription.setConverter(new ScaleConverter()); context.addDescription(scaleDescription); context.bind(); } private static class ScaleConverter extends BindingConverter { public Object convertToTarget(BindingDescription description, Object value) { return (int)((Float)value * 100f); } public Object convertToSource(BindingDescription description, Object value) { return (float)((Integer)value) / 100.0f; } } }