All pastes #389249 Raw Edit

Mine

public text v1 · immutable
·published 2007-03-10 16:35 UTC
rendered paste body
Om du gjort rätt hittills kommer du att märka att man inte längre kan ändra avstånd och riktning. Det beror på att när metoden setValues körs så kommer man att använda värdena från alla reglagen och X-Y-reglagen ligger sist så de kommer att gälla! I de flesta situationer (och i alla följande) gör det ingenting om man läser av alla reglagen även om det bara är ett enda man har ändrat, men om man har flera reglage som används till "samma sak" (som positionen i detta fall) så blir det fel och då måste man kontrollera vilket  reglage det var. I stället för setValues-metoden ska man omdefiniera metoden:

public void floatSliderChanged(FloatSlider s){

(eller intSliderChanged om man har en IntSlider) och i den metoden kontrollera genom att jämföra med s vilket reglage det var. (Metoden floatSliderChanged är som default definierad som ett anrop till setValue)

Om man ändrar positionen via de nya XY-reglagen så borde ändringen även visas genom att de andra två reglagen ändras på motsvarande sätt och vice versa.  Här får du ett "skal" på hur ändringen kan införas: