Sub Process_Globals
Private fx As JFX
Private MainForm As Form
Dim cursor As JavaObject
Dim b As Button
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
MainForm.Show
b.Initialize("")
b.Text = "Hello"
MainForm.RootPane.AddNode(b,10,10,-1,-1)
cursor.InitializeStatic("javafx.scene.Cursor") ' cursors, so we can use their names ie HAND, WAIT etc
setHandler(b,"setOnMouseEntered","b_enter") ' to change cursor on entry
setHandler(b,"setOnMouseExited","b_exit") ' change back on exit
End Sub
Sub setHandler(ob As Object,eventName As String,handlerName As String)
asJavaObject(ob).RunMethod(eventName, Array(asJavaObject(ob).CreateEventFromUI("javafx.event.EventHandler",handlerName,False)))
End Sub
Sub b_enter_Event(MethodName As String, Args() As Object)
asJavaObject(b).RunMethod("setCursor",Array(cursor.GetField("HAND"))) ' set cursor to hand
End Sub
Sub b_exit_Event(MethodName As String, Args() As Object)
asJavaObject(b).RunMethod("setCursor",Array(cursor.GetField("DEFAULT"))) ' set back to default
End Sub
Sub asJavaObject(j As JavaObject) As JavaObject
Return j
End Sub