本篇为系列第二篇,第一篇:使用Compose Multiplatform编写桌面项目(一) 本文中将展示如何使用Compose for Desktop处理图片 从资源文件加载图像 假设我们有一个 PNG 图片放在resources我们项目的目录中。图片示例: 代码: importandroidx.compose.foundation.Imageimportandroidx.compose.foundation.layout.fillMaxSizeimportandroi...
importjavax.swing.SwingUtilitiesfunmain()=SwingUtilities.invokeLater{valpanel=ComposePanel()panel.setContent{CustomTextMenuProvider{Column{SelectionContainer{Text("Hello, Compose!")}vartextbyremember{mutableStateOf("")}TextField(text,{text=it})}}}valwindow=JFrame()window.contentPane.add(panel)window....
当然,在Compose For Desktop中还有许多的组件,比如Tooltips、Context Menu等等,这里无法一一介绍,需要我们在使用的时候去实践,我们将在后面的N弹中持续探索...
默认选项,如复制、剪切、粘贴、全选等功能,可直接在TextField组件中实现,只需将组件置于DesktopMaterialTheme下即可启用。对于Text组件,通过使其可选择,其上下文菜单将默认仅包含复制操作。若需添加额外内容选项,可通过ContextMenuItem元素配合ContextMenuDataProvider组件来实现。此方法允许在TextField和Text组...
这样我们就实现了一个简单的桌面端数据请求与显示功能。 / 写在最后 / 当然,在Compose For Desktop中还有许多的组件,比如Tooltips、Context Menu等等,这里无法一一介绍,需要我们在使用的时候去实践,我们将在后面的N弹中持续探索... 推荐阅读: 学习技术或投稿 长按上图,...
Compose跨平台第一弹:体验Compose for Desktop 前言 Compose是Android官方提供的声明式UI开发框架,而Compose Multiplatform是由JetBrains 维护的,对于Android开发来说,个人认为学习Jetpack Compose是必须的,因为它会成为Android主流的开发模式,而compose-jb作为一个扩展能力,我们可以有选择的去尝试。今天我们先来了解一下使用...
jetpack仓库 jetpack compose for desktop 就在上个月Jetpack Compose for Desktop正式发布。未来通过使用Compose可以在macOS/Linux/Windows等平台像,Flutter、React那样进行声明式UI开发了,而且是使用Kotlin语言。这对于广大Android开发者是一个福音。 有兴趣的同学可以前去Compose for Desktop, by JetBrains进行体验。本文...
DropDownMenu、CursorDropDownMenu和ContextMenu中的菜单项现在可以通过键盘箭头导航。 鼠标和键盘 API 改进Copy heading link 我们还在改进 Compose for Desktop 的实验性 API,使鼠标和键盘输入更加方便。 我们引入了onClick和onDrag修饰符,让修饰键更易访问。
We are planning to finalize the design and behavior and use it as the new default in the next version of Compose for Desktop. At that point, we will deprecate the previous approach of managing windows, dialog boxes, menu bars, and trays, in favor of these new composables....
compose.desktop { application { mainClass ="MainKt" nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) packageName ="Demo" packageVersion ="1.0.0" } } } build 文件中稍微多点,分别是 plugins 、dependencies ...