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