Private nowinpref As Boolean=False
'Private sendk As AWTRobot
...
Private Sub B4XPage_Created (Root1 As B4XView)
...
AddKeyPressedListener
...
End Sub
Sub AddKeyPressedListener
Dim r As Reflector
r.Target = Root'B4XPages.GetNativeParent(Root)
#IF B4J
r.AddEventFilter("keypressed", "javafx.scene.input.KeyEvent.ANY")
#END IF
End Sub
Sub KeyPressed_Filter (e As Event)
Dim jo As JavaObject = e
Dim EventType As String = jo.RunMethodJO("getEventType", Null).RunMethod("getName", Null)
'Log(EventType)
...
If Dialog.Visible Then 'Here is what you want...
Dim jo As JavaObject = e
Dim EventType As String = jo.RunMethodJO("getEventType", Null).RunMethod("getName", Null)
If EventType = "KEY_PRESSED" Then
Dim keycode As String = jo.RunMethod("getCode", Null)
If keycode = "ESCAPE" Then
Dialog.Close(xui.DialogResponse_Cancel)
End If
End If
End If
If nowinpref=True Then
Dim jo As JavaObject = e
Dim EventType As String = jo.RunMethodJO("getEventType", Null).RunMethod("getName", Null)
If EventType = "KEY_PRESSED" Then
Dim keycode As String = jo.RunMethod("getCode", Null)
If keycode = "ESCAPE" Then
prefdialog.Dialog.Close(xui.DialogResponse_Cancel)
End If
'If keycode = "ENTER" Then
'sendk.RobotSpecialKeyPress("TAB")
'End If
End If
End If
end sub