Sub Class_Globals
Private Root As B4XView
Private xui As XUI
Private tray As SystemTray
End Sub
Public Sub Initialize
' B4XPages.GetManager.LogEvents = True
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.LoadLayout("MainPage")
tray.Initialize
Dim ti As TrayIcon
ti.Initialize("ti", xui.LoadBitmap(File.DirAssets, "45973.jpg"), Null)
tray.AddTrayIcon(ti)
Dim PopupMenu As JavaObject
PopupMenu.InitializeNewInstance("java.awt.PopupMenu", Null)
Dim listener As Object = PopupMenu.CreateEventFromUI("java.awt.event.ItemListener", "MenuItemStateChanged", Null)
For Each s As String In Array("Item 1", "Item 2", "Item 3")
Dim MenuItem As JavaObject
Dim Checked As Boolean = True
MenuItem.InitializeNewInstance("java.awt.CheckboxMenuItem", Array(s, Checked))
MenuItem.RunMethod("addItemListener", Array(listener))
PopupMenu.RunMethod("add", Array(MenuItem))
Next
ti.As(JavaObject).RunMethod("setPopupMenu", Array(PopupMenu))
End Sub
Private Sub MenuItemStateChanged_Event (MethodName As String, Args() As Object) As Object
Dim ItemEvent As JavaObject = Args(0)
Dim MenuItem As JavaObject = ItemEvent.RunMethod("getItemSelectable", Null)
Dim Text As String = MenuItem.RunMethod("getLabel", Null)
Dim checked As Boolean = MenuItem.RunMethod("getState", Null)
Log(Text & ": " & checked)
Return Null
End Sub