kotlin 无法找到androidx.compose.ui.窗口.菜单栏

j8ag8udp  于 2023-01-17  发布在  Kotlin
关注(0)|答案(2)|浏览(160)

我尝试使用Jetbrain Tutorial中的androidx.compose.ui.window.MenuBar,但问题是当我尝试在项目中使用它时,它没有显示。
问题是这样的:

它只提供我从这2个位置导入,但当我使用导入时,它不会抱怨或解决错误。
build.gradle.kts

import org.jetbrains.compose.compose
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.6.10"
    id("org.jetbrains.compose") version "1.1.0"
}

group = "me.whate"
version = "1.0"

repositories {
    google()
    mavenCentral()
    maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}

dependencies {
    implementation(compose.desktop.currentOs)
}

tasks.withType<KotlinCompile>() {
    kotlinOptions.jvmTarget = "11"
}

compose.desktop {
    application {
        mainClass = "MainKt"
        nativeDistributions {
            targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
            packageName = "Test"
            packageVersion = "1.0.0"
        }
    }
}

我已经尝试无效缓存等,但迄今为止没有成功。
谁有什么建议?

oymdgrw7

oymdgrw71#

你必须这样修改它:

@OptIn(ExperimentalComposeUiApi::class)
fun main() = application {
    Window(onCloseRequest = ::exitApplication) {
        var text by remember { mutableStateOf("Hello, World!") }
        DesktopMaterialTheme {
            MenuBar {
               // your menubar code here
            }
            Button(onClick = {
                text = "Hello, Desktop!"
            }) {
                Text(text)
            }
        }
    }
}

并完全删除App()函数

rryofs0p

rryofs0p2#

以FrameWindowScope作为菜单栏的前缀,例如FrameWindowScope.MenuBar

相关问题