如何将 intellij 中的普通 Java 项目转换为 JavaFx 项目
我目前正在使用一个普通的java项目(gradle项目),并希望将其转换为JavaFx项目,而不必将现有源代码重新导入到新的Javafx项目中。有没有办法做到这一点?
我目前正在使用一个普通的java项目(gradle项目),并希望将其转换为JavaFx项目,而不必将现有源代码重新导入到新的Javafx项目中。有没有办法做到这一点?
没有什么可以转换的。
我不认为“普通”Java项目和JavaFX项目之间有任何区别。
当然,在 Idea 12.x+ 中有一个向导,可用于创建新的 JavaFX 项目。但我认为它所做的只是创建一个示例hello world应用程序 - 在初始创建之后,该项目的工作方式与任何其他Java项目没有任何不同。
这就是它应该的样子,JavaFX只是Java。Oracle在其发行版中没有区分JavaFX和Java,其项目类型中的IDE也不区分。
我相信,在这种情况下,即使我错了,我也足够正确,如果我错了也没关系。
更新
所以我错了,这很重要:-)
使用Idea 13.1.4,如果我使用创建一个新项目,则有以下资源设置():File | New Project | Java
File | Settings | Compiler
?*.properties;?*.xml;?*.gif;?*.png;?*.jpeg;?*.jpg;?*.html;?*.dtd;?*.tld;?*.ftl
也就是说,项目的资源仅设置为仅复制特定文件类型。因此,您可以通过添加对fxml和css的资源复制支持来修改它以获取某些JavaFX项目中所需的其他文件类型;即,附加 .;?*.fxml;?*.css
有趣的部分是,如果您使用 创建新项目,则有以下资源设置:File | New Project | JavaFX
!?*.java;!?*.form;!?*.class;!?*.groovy;!?*.scala;!?*.flex;!?*.kt;!?*.clj
从本质上讲,它复制的不是源文件的所有内容,一种文件黑名单集,而不是其他项目创建模板使用的文件白名单集。真的很奇怪...无论如何,资源集是用户可配置的,因此您可以根据需要修改它们,一旦这样做,您就不应该有任何问题(我相信,但我以前错了;-)
建议 - 将第三方构建工具与 IDE 结合使用
您可能最好将构建基于第三方工具(例如Gradle或Maven)进行构建。Idea与这些外部构建工具(以及其他工具)都非常有效。使用第三方工具的优点是:
当然,使用第三方构建工具的缺点是学习它们的复杂性(和许多怪癖),因为有时它们可能是野兽。所以我认为这有点权衡 - 小型的个人探索项目不需要它们,较大的项目或您打算与他人共享的项目可以从使用这些工具中受益。
一种解决方案是使用 Scene Builder 生成代码,然后将其集成到现有的 IntelliJ 项目中。虽然应该可以将其作为模块导入,但您也可以简单地将代码移动到需要的位置(对 package 语句进行适当的更正等)。如果您注意到项目中无法识别 javafx 导入,请尝试以下解决方案:
首先,请确保您已按照本教程中的初始步骤为 JavaFX 设置了 IntelliJ。注意:下面我提到1.8,但这应该适用于1.7 +。我推荐1.8+。
其次,确保现有的项目设置允许使用javaFX
第三,确保模块配置为支持JavaFX的JDK
另外,请注意,如果您有一个 maven 项目,则可能需要将 fxml 放在特定位置“/main/resources/”。看看这个。
这对我有用,我希望它能帮助你。