kotlin的kmp编程中遇到Unresolved reference ‘java‘问题

解决办法

  • 打开 FileProject StructureProject

  • 确保 Project SDK 是 与你的 jvmToolchain 保持一致

  • 如果没有,点击右上角 Add SDK 添加 JDK 路径

  • 同步Sync

  • 然后就正常了。

  • 复制代码
    package org.example.project
    
    import androidx.compose.animation.AnimatedVisibility
    import androidx.compose.foundation.Image
    import androidx.compose.foundation.layout.Column
    import androidx.compose.foundation.layout.fillMaxWidth
    import androidx.compose.material.Button
    import androidx.compose.material.MaterialTheme
    import androidx.compose.material.Text
    import androidx.compose.runtime.*
    import androidx.compose.ui.Alignment
    import androidx.compose.ui.Modifier
    import org.jetbrains.compose.resources.painterResource
    import org.jetbrains.compose.ui.tooling.preview.Preview
    import androidx.compose.foundation.layout.*
    import androidx.compose.material.Button
    import androidx.compose.material.Text
    import androidx.compose.runtime.*
    import androidx.compose.ui.unit.dp
    import androidx.compose.ui.window.Window
    import androidx.compose.ui.window.application
    import java.awt.FileDialog
    import java.awt.Frame
    
    @Composable
    @Preview
    fun App() {
        var selectedFiles by remember { mutableStateOf<List<String>>(emptyList()) }
        MaterialTheme {
            Column(
                modifier = androidx.compose.ui.Modifier.padding(16.dp),
                horizontalAlignment = Alignment.CenterHorizontally
            ) {
                Button(onClick = {
                    // 调用 AWT FileDialog 打开多文件选择器
                    val dialog = FileDialog(null as Frame?, "选择文件", FileDialog.LOAD)
                    dialog.isMultipleMode = true // 允许多选
                    dialog.isVisible = true
    
                    val files = dialog.files
                    if (files != null) {
                        selectedFiles = files.map { it.absolutePath }
                    }
                }) {
                    Text("选择多个文件")
                }
    
                Spacer(modifier = androidx.compose.ui.Modifier.height(16.dp))
    
                selectedFiles.forEach {
                    Text("✅ $it")
                }
            }
    
    
        }
    }
相关推荐
alexhilton7 小时前
Compose中的ContentScale:终极可视化指南
android·kotlin·android jetpack
jzlhll1237 小时前
kotlin Flow first() last()总结
开发语言·前端·kotlin
符哥200812 小时前
充电桩 WiFi 局域网配网(Android/Kotlin)流程、指令及实例说明文档
android·开发语言·kotlin
大傻^15 小时前
SpringAI2.0 Null Safety 实战:JSpecify 注解体系与 Kotlin 互操作
android·开发语言·人工智能·kotlin·springai
jzlhll12320 小时前
Kotlin Mutex vs Java ReentrantLock vs synchronized
java·开发语言·kotlin
Kapaseker20 小时前
一杯 Kotlin 美式品味 object 声明
android·kotlin
俩个逗号。。21 小时前
Kotlin 扩展函数详解
开发语言·kotlin
su1ka1112 天前
Kotlin(3)基本语法
kotlin
su1ka1112 天前
Kotlin(4)面向对象
kotlin
鹧鸪晏2 天前
搞懂 kotlin 泛型 out 和 in 关键字
android·kotlin