#RaisesSynchronousEvents: SizeChanged_Event
#Event: Changed
Sub Class_Globals
Private eName As String
Private cBack As Object
Private obsList As JavaObject
End Sub
Public Sub Initialize(EventName As String, CallBack As Object)
eName = EventName
cBack = CallBack
Dim l As List
l.Initialize
obsList = ListToObservableList(l)
SetListener(obsList)
End Sub
Private Sub ListToObservableList(l As List) As JavaObject
Dim fxCollection As JavaObject
fxCollection.InitializeStatic("javafx.collections.FXCollections")
Dim joObservableList As JavaObject = fxCollection.RunMethod("observableArrayList", Array(l))
Return joObservableList
End Sub
Private Sub SetListener(joObservableList As JavaObject)
Dim e As Object = joObservableList.CreateEvent("javafx.collections.ListChangeListener", "SizeChanged", False)
joObservableList.RunMethod("addListener", Array(e))
End Sub
Public Sub Add(Item As Object)
obsList.RunMethod("add", Array(Item))
End Sub
Private Sub SizeChanged_Event (MethodName As String, Args() As Object) As Object
CallSubDelayed(cBack, eName & "_Changed")
Return True
End Sub