2014-08-31 198 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

相關問題