SliderRepeatNopDemo

= #JxnPortable\docs\plot_examples\SliderRepeatNopDemo.jxn

slider = @JxnSliderPanel($this)
sliderVar = slider.add( "var", 0., -10., 10. )
countRepaint = 0  ! statement is not slider dependent => not repeated
countRepaint = countRepaint + 1 + nop(sliderVar)  ! nop forces repetition on change of sliderVar, countRepaint now dependent
countRepaint = $this.eval "countRepaint + 1000"   ! adds 1000 once, $this.eval "..." hides the dependency of countRepaint
plot( @JxnComplexAlgebra( 1., sliderVar, false ) )
$.add( @JxnGraphicsPainter( 1, -0.15, -0.1, 0.15, 0.1 ) ).add( @JxnTextPainter( countRepaint, 0., 0. ) )
DE:  Bitte analysieren Sie das Beispiel (SliderRepeatNopDemo.jxn), siehe Details und apidocs: JxnUtilities.nop(sliderVar)
EN:  Please analyse the example (SliderRepeatNopDemo.jxn), see details and the apidocs: JxnUtilities.nop(sliderVar)


DE > EN

Statements, die direkt oder indirekt von einer Slider-Variablen (z.B. sliderVar = slider.add( "var", 0., -10., 10. ) ) abhängen werden automatisch bei Änderung einer beliebigen Slider-Variablen wiederholt, um die Änderungen in der Grafikanzeige zu aktualisieren (repaint). Normalerweise arbeitet die automatische Wiederholung von slider-abhängigen Statements intuitiv ohne weitere Maßnahmen. Nur in seltenen Fällen wie im Beispiel oben sind Ergänzungen erforderlich.

Voraussetzungen für die korrekte Aktualisierung der Grafikanzeige:
  • Alle Statements, die wiederholt werden müssen, müssen direkt oder indirekt von einer Slider-Variablen abhängen. Falls nötig, kann die Abhängigkeit mit nop(sliderVar) erzwungen werden (Beispiel: plot_examples/).
  • Alle Statements, die nicht wiederholt werden sollten, dürfen nicht slider-abhängig sein. Falls nötig, kann die Abhängigkeit mit z.B. $this.eval("statement") verdeckt werden (siehe JxnPortable/docs/plot_examples/).
  • Das plot statement muss das PlotFrame Object zurückgeben (verwenden Sie z.B. plot(…).setPlotFrameTitle(…) statt java.awt.Frame.setTitle(…)). JxnPortable/docs/plot_examples/ zeigt, was passiert, wenn plot nicht PlotFrame zurückgibt.


EN > DE

Statements which directly or indirectly depend on a slider variable (e.g. sliderVar = slider.add( "var", 0., -10., 10. ) ) are automatically repeated on change of any of the slider dependent variables to update the changes in the graphic display (repaint). Normally the automatic repetition of slider dependent statements works intuitively without any further considerations. Only in rare cases as in the above example slider repetitions needs special attention.

The correct repaint of the graphic display on slider changes requires the following:
  • all statements to be repeated must be slider dependent (if necessary use nop(sliderVar) to force the dependency, e.g. JxnPortable/docs/plot_examples/)
  • all statements that must not be repeated must not be slider dependent If necessary use e.g. $this.eval("statement") to hide the dependency (see JxnPortable/docs/plot_examples/)
  • the plot statement must return the PlotFrame instance (e.g. use plot(…).setPlotFrameTitle(…) instead of java.awt.Frame.setTitle(…)). JxnPortable/docs/plot_examples/ shows what happens, if plot does not return the PlotFrame