我目前正在学习本教程:https://openjfx.io/openjfx-docs/(JavaFX和IntelliJ IDEA)。我使用Intellij 2021.3.2。
但这里开始奇怪的事情(我对编程非常陌生,所以如果听起来很愚蠢,我很抱歉)。“您还可以将语言级别设置为11或更高。”我没有这个选择。因为是“可以”,我觉得这没什么大不了的,但如果有人能解释这是怎么回事?只是出于好奇,因为我刚刚开始学习教程,我只懂了一半。
所以当他们说“将JavaFX 17 SDK作为库添加到项目中”时,我不知道该怎么办。我也不知道该怎么做来修复红色的东西。
一切正常!你知道我没有抱怨,但我想多了解一点正在发生的事情。
谢谢你的帮助,我很迷茫,感觉自己什么都不懂。
openjfx教程中使用Idea开始使用JavaFX的当前留档是不正确的,至少对于最近的Idea版本(2021.3)来说是这样。
本教程的编写就像创建了一个新的Java项目,而不是一个新的JavaFX项目。一旦创建了一个新的JavaFX项目,本教程中其余的大部分步骤要么是多余的,要么是错误的。
第一步,“创建一个JavaFX项目”不仅仅是“创建一个Java项目”,这就是为什么其他所有内容都不同于本教程的原因。
一个更好的教程开始与JavaFX的想法,是官方的想法留档:
创建新Java项目和创建新JavaFX项目之间的区别
新的JavaFX项目:
>
为Maven(pom.xml)或Gradle(build.Gradle)提供构建脚本。
为JavaFX库、图形、控件和fxml添加适当的依赖项。
提供可以立即运行的示例应用程序和控制器代码。
示例项目是模块化的,并提供了module-info.java
由于该程序是模块化的,依赖项通过maven下载并由IDE识别,因此不需要为模块路径和添加模块手动配置VM运行时选项。
Idea将识别Maven或Gradle项目,并自动将初始的可传递依赖库与Idea项目同步。
Idea Maven工具窗口中有一些选项,可以让您同步对依赖库或javadoc和库中源代码的进一步更改。
选择一个JDK并将其附加到项目,如果尚未存在,则自动下载所选的JDK版本。
为项目设置适当的语言级别。
当你只使用创建新Java项目选项时,它不会做任何这些事情,所以你需要手动做一些事情,这就是本教程的其余部分:
>
手动下载JDK并在SDK中进行配置。
手动下载JavaFXSDK并将其库添加到项目中。
手动配置VM模块参数。
手动维护任何其他依赖项。
手动关联javadoc和源代码。
手动编写基本应用程序的代码。
手动设置项目语言级别。
手动完成所有这些工作是更多的工作,更容易出错。对于许多刚开始使用JavaFX的人来说,手动工作通常会导致更糟糕的结果和更难维护的项目,所以我不推荐它。
版本
就要使用的版本而言,我建议使用JDK和JavaFX的最新稳定(非测试版)版本,无论您正在使用的任何教程中引用什么版本。
您可以在新JavaFX项目向导生成的Maven文件中设置JavaFX版本,然后按Maven工具窗口中的按钮将Maven项目与Idea项目同步。
语言级别设置
这些在以后很重要,但在刚开始的时候却无关紧要。
语言级别设置:
>
告诉编译器要将应用程序编译到哪个版本的java字节码。
告诉IDE要执行哪些语言语法规则并提供帮助。
如果只使用Java 17功能,该应用程序将不会在Java 11虚拟机上运行。
您可以在Idea中手动定义设置:
但最好在maven项目的编译器部分设置它们,并将项目与Idea同步,Idea也将在IDE中配置设置。
IMO,将其设置为最新的稳定版本,并要求您的应用程序至少以该Java版本运行(您可以通过使用jlink或jpack将您选择的JRE版本与打包的应用程序捆绑在一起来强制执行)。
我正在使用IntelliJ IDEA Ultimate 2019.2开发一个Java w/gradle项目。 当我尝试运行JUnit测试时,会触发自动构建,并发出以下消息: 自动构建已完成并出现错误 在“问题”选项卡中,我看到了100多个错误,当我单击它们进行调查时,我可以看到这些错误不是真正的错误,编辑器的任何地方都没有红色的波形,如果我查看特定的错误(如java:找不到符号),我会确认它们是无
如果使用此功能删除目录中的所有文件。 但是每当我这样做时,我都会收到这个错误消息: 警告:rmdir(directory/12)[function.rmdir]:delete_文件中没有这样的文件或目录。php “directory/12”是我要删除的目录的正确名称。我不明白为什么它说它不存在,因为它存在!奇怪的是,即使我收到了错误信息,目录还是被删除了。 所以我在for循环之前添加了一行代码,它
我是一个初学者,所以请确保我正在开发的应用程序不是太复杂,只是一些基本的实验应用程序。 今天,我在处理的不同应用程序中不断遇到相同的错误:任务执行失败:“:app:compiledBugkotlin”。 我今天在演播室里肯定有关于kotlin的最新消息。这可能是更新的问题吗?其他人也有同样的经历吗?我不知道如何修理它。 Android没有在我的代码中标记任何错误,我已经确保构建中的依赖项是正确的。
我一直从这段代码中得到这个错误,不知道为什么{“error:CastError:Cast to ObjectId对于模型\“Order\”的路径\“u id\”处的值\“confirmed\”失败 正如您所看到的,我甚至没有在这个查询中使用objectID。。。我不知道它为什么要退回这个
PC\AndroidStudioProjects\TabLayout\app\build\中间体\packaged_manifests\debug\AndroidManifest.xml:12: AAPT:错误:资源mipmap/ic_launcher_round(又名com.example.tablayout: mipmap/ic_launcher_round)未找到