我目前正在使用普通的java项目(gradle项目),并希望将其转换为JavaFx项目,而无需将现有源重新导入到新的Javafx项目中。有没有办法实现这个目标?
答案 0 :(得分:12)
没有什么可以转换的。
我认为“普通”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适用于这些外部构建工具(和其他)。使用第三方工具的优点是:
当然,使用第三方构建工具的缺点是学习它们的复杂性(以及许多怪癖),因为有时它们可能是相当野兽。因此,我认为这是一个权衡 - 小型的个人探索性项目不需要它们,您打算与其他人分享的大型项目或项目将从使用此类工具中获益。
答案 1 :(得分:1)
一种解决方案是使用Scene Builder生成代码,然后将其集成到现有的IntelliJ项目中。虽然应该可以将其作为模块导入,但您也可以简单地将代码移动到需要的位置(对包语句进行适当的更正等)。如果您发现项目中未识别出javafx导入,请尝试以下解决方案:
首先确保您已按照此tutorial中的初始步骤为JavaFX设置IntelliJ。注意:下面我提到1.8,但这应该适用于1.7+。我推荐1.8 +。
其次确保现有项目设置允许使用javaFX
第三步确保为支持JavaFX的JDK配置模块
另外,请注意,如果您有maven项目,则可能需要将fxml放在特定位置,&#34; / main / resources /&#34;。看看this.
这对我有用,我希望它可以帮到你。
答案 2 :(得分:1)
我遵循了这些步骤
Controller.java,Main.java and sample.fxml
)复制到src目录下(A)项目中的模块中,如A/user-interface/src
sample.fxml
中发现错误,因为它引用了控制器类,sample.Controller
将其更改为&#39; Controller&#39;只要。它以这种方式工作(因为我删除了sample
包文件夹File | Project Structure | Modules
user-interface
模块dependencies
标签+
标记将旧的非gui模块添加为模块依赖项注意:你可以跳过添加模块依赖关系并让intellij为你做,只需在旧模块中键入一个类的名称,alt+enter
(灯泡魔术) - &gt; add module depenency
答案 3 :(得分:0)
答案 4 :(得分:0)
因此,经过大量的搜索后,我终于自己发现了它!
如果您可以在Intellijd中创建新的Javafx项目,并且效果很好,但是当您打开碰巧使用javafx的普通Java应用程序无法正常工作时,(因为Java只是不想解析javafx引用)< / p>
这对我有用:
您必须将//= require jquery2
// require jquery_ujs # Removed this by taking away '='
//= require rails-ujs
文件添加到Windows计算机上IDEA内的模块类路径中,即"jre/lib/ext/jfxrt.jar"
。
而现在它终于建立!