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")
                }
            }
    
    
        }
    }
相关推荐
一条上岸小咸鱼18 小时前
Kotlin 基本数据类型(一):概述及分类
android·kotlin
Harry技术1 天前
Trae搭建Android项目:智能存储柜表结构设计以及实体生成
android·kotlin·trae
Harry技术1 天前
Trae搭建Android开发:项目中Ktor的引入与使用实践
android·kotlin·trae
前行的小黑炭2 天前
Android App:每次想写新项目锻炼一下,但苦于没有UI,那么这篇文章适合你~(适合基础小白锻炼)
android·kotlin
pengyu2 天前
【Kotlin系统化精讲:柒】 | 数据类型之复合及高级数据类型:构建复杂程序的万能钥匙
android·kotlin
xzkyd outpaper2 天前
Kotlin 协程启动方式
android·开发语言·kotlin
集成显卡2 天前
在JVM跑JavaScript脚本 | 简单 FaaS 架构设计与实现
开发语言·javascript·jvm·设计模式·kotlin·软件开发·faas
Harry技术2 天前
Trae搭建Android 开发中 MVVM 架构,使用指南:组件、步骤与最佳实践
android·kotlin·trae
q567315233 天前
使用reqwest+select实现简单网页爬虫
开发语言·爬虫·golang·kotlin
tangweiguo030519873 天前
面向对象编程三剑客:Dart、Java 和 Kotlin 的核心区别
android·flutter·kotlin