2014-08-31 82 views
1

我是Javafx的初学者。我发现Javafx Scene builder非常酷,可以生成与Javafx相关的任何表单,但它确实只能播放fxml文件,而不能播放java文件。可以使用JavaFx scenebuilder创建Java代码而不是FXML

例如:当我使用Scene Builder创建MenuList,Items等时,它仅生成具有类似html文件(XML输出)的源代码。我不想confine with the use of these XML files。那么是否有人知道不使用fxml沿java file处理个别技术?

感谢先进!

+0

对于netbeans用户,请查看http://stackoverflow.com/questions/32661242/tool-to-convert-fxml-to-java-code/42480616#42480616 .. – 2017-02-27 08:15:29

回答

2

SceneBuilder是通过fxml以可视方式创建的,并且根本不会生成任何Java代码。这是留给开发者的。

一个很好的起点教程是在这里:http://code.makery.ch/java/javafx-2-tutorial-part1/

它越过使用的JavaFX的Eclipse和SceneBuilder

+0

看看这个[图片](http: //postimg.org/image/c6udm0azn/)pls ..我想要生成此代码..使用场景生成器..是否有可能? – 2014-08-31 07:34:22

3

的回答你的问题可以使用了JavaFx scenebuilder创建Java代码,而不是FXML的您不能

如果您需要使用Java创建您的表示层,您将不得不做它通过自己编写代码并且有其原因。请按照以下帖子:

JavaFX使您可以使用Java代码和基于XML的语言FXML来创建UI。引入了Scene Builder来利用FXML,通过提供DRAG n DROP功能来生成FXML代码。您可以考虑类似于Window Builder for Swing,最终结果在FXML(.fxml)而不是Java(.java)中有所不同。

根本差异的B/W Java代码和FXML

Java代码的

BorderPane border = new BorderPane(); 
Label toppanetext = new Label("Page Title"); 
border.setTop(toppanetext); 
Label centerpanetext = new Label ("Some data here"); 
border.setCenter(centerpanetext); 

FXML

<BorderPane> 
    <top> 
     <Label text="Page Title"/> 
    </top> 
    <center> 
     <Label text="Some data here"/> 
    </center> 
</BorderPane> 

为什么使用FXML,当我可以通过JAVA代码achive相同

你会想,为什么要使用FXML,当我们可以使用JAVA做出相同。那么,它的选择!

从文档

FXML是基于XML的语言,它提供结构用于构建 的用户接口从代码的应用逻辑分离。 该演示和应用程序逻辑的分离是Web开发人员 吸引力,因为他们可以组装一个用户 界面,充分利用Java组件,而不掌握代码 包括获取和数据填充

所以,FXML强迫你使用MVC模式,让您的表示层分开的逻辑,使您更容易维护和编辑演示文稿层,并通过UI设计师,谁没有关系的Java/JavaFX的

For more information and example on FXML

+0

嗯, 我在SWT编程时使用了一种名为XWT的技术,它允许我使用xmls创建GUIS。这非常可怕。绑定无效,焦点被盗,滚动条不想添加。 FXML是否更好?我被XWT拖累了,现在我不想在FXML中编程。 – whomaniac 2015-08-02 09:14:36

相关问题