2013-06-01 64 views
1

我很感兴趣,我可以使用纯JavaFX API代替FXML来建模用户界面。另外,如果我使用SceneBuilder创建FXML GUI,我可以将XML代码转换为纯Java代码吗?使用Java API代替FXML

+0

我不知道为什么你会想要做这样的事情。一般而言,GUI代码和JavaFX代码尤其冗长,罗嗦和难看。在我看来,FXML的主要好处是它可以让你清除应用程序中冗长的JavaFX代码。还有其他的好处。 FXML使您能够编辑您的GUI,而无需强制重新编译您的应用程序以进行多种更改。我建议你学习如何在JavaFX中使用FXML来获得所有这些好处。 – scottb

+0

@scottb你可以提出什么解决方案? –

+0

就我而言,我使用Scene Builder为我的GUI创建模板。我不想尝试用FXML做任何非常花哨的事情。没有脚本等。我用它为我的GUI创建了框架,从我的控制器类中删除了大量非常丑陋的JavaFX代码。然后我在我的控制器类的代码中动态地操作感兴趣的控件。我认为这是大多数人用FXML所做的。 FXML比我使用它的方式强大得多,但我只想要我的控制器类中的所有丑陋,嘈杂,难看的JavaFX代码。 – scottb

回答

5
can I use pure JavaFX API instead FXML for modeling the user interface. 

是的,这是(是)在JavaFX 2.0建立用户界面的经典方法。

can I convert the XML code into pure Java code? 

目前(我知道),也没有产生从FXML文件Java代码自动方式。

+0

谢谢你的回复。有没有创建类似SceneBuilder的Visual JavaFX应用程序的工具,但生成纯Java代码? –

+0

像Swing matisse?我从来没有在javafx这样的事情的心。 – tarrsalah

1

就像其他答案一样,如果您检查官方Java FX教程,他们会通过纯代码编写应用程序中的每个GUI内容。

为什么要使用纯Java API?如果你使用FXML和Controller类,你可以获得很好的基于MVC的应用程序。

我想你应该检查一下Visage。它是GUI应用程序的声明性代码。是的,我同意该项目自2011年以来一直处于无人值守状态。

+0

有趣。 Visage看起来从2011年起还没有任何活动。你在使用这个吗?该项目还活着吗? – chooks

+0

这是一个问题,对。我没有完全使用它。我认为它不仅与Java FX,Groovy和Grails兼容。 – diegoaguilar