RedJWindow wrapper for JSCWindow


superclass: JSCWindow


adding some functionallity to the standard window class.

requires RedVector and SwingOSC

this class can also be used with osx-swing.  copy the class file RedJWindow.sc into the osx folder.


see also [RedWindow], [JSCWindow]


instance methods:

draw(func)

alias for drawFunc_

play(fps= 40)

starts an internal thread on the AppClock updating at rate fps

stop

stop internal thread

resize([width, height])

change window size while keeping x and y position.  the argument can also be a RedVector

background_(color)

set window background.  alias for view.background_

isOpen

boolean


instance variables:

<>mouse

returns a RedVector for mouse x and y position.  click&drag in window to set position.

<isPlaying

if the window is updating

<userView

access to the embedded view



//--

GUI.swing;

w= RedJWindow.new.front;

w.resize(RedVector2D[200, 200])

w.background= Color.red


w.draw{Pen.fillColor= Color.black; Pen.fillOval(Rect.aboutPoint(175.rand@175.rand, 50, 50))}

w.play //start drawing

w.stop


( //mouse control

w.draw{

var radius= 100.rand;

Pen.fillColor= Color.blue(0.5, radius/100);

Pen.fillOval(Rect.aboutRedVector2D(w.mouse, radius))

}

)

w.play(25) //25fps

w.mouse

w.isPlaying

w.isOpen

w.stop

w.close