Car*_*ino 10 system-tray tray compose-desktop compose-multiplatform
我一直在尝试 Compose for Desktop,并且试图弄清楚 Jetbrain 如何设计Tray
可组合项的样式。我假设这就是他们用来构建 Jetbrains Toolbox 的方法,因为他们写了一篇关于如何将 Toolbox 迁移到 Compose for Desktop 的文章(请参阅此处)。
图像来自 Ubuntu 22;我还没有测试过 Windows 或 Mac。
小智 0
您可以使用此库: https: //github.com/dorkbox/SystemTray
在你的 gradle 文件中
implementation("net.java.dev.jna:jna:5.14.0")
implementation("com.dorkbox:SystemTray:4.4")
Run Code Online (Sandbox Code Playgroud)
你可以在你的 main 函数中像这样使用它:
val tray = SystemTray.get()
val resource = this::class.java.classLoader.getResource("AppIcon.png")
tray.setImage(resource)
val menu = tray.menu
// add a menu item
menu.add(MenuItem("Item 1") {
println("Item 1 selected")
})
// add a checkbox
menu.add(Checkbox("Checkbox Item") {
println("Checkbox Item: $it")
})
// add a separator
menu.add(Separator())
// add a submenu
val submenu = Menu("Submenu")
submenu.add(MenuItem("Subitem 1") {
println("Subitem 1 selected")
})
menu.add(submenu)
Run Code Online (Sandbox Code Playgroud)