簡體   English   中英

JavaFX或FXML。 有什么區別?

[英]JavaFX or FXML. What is the difference?

我剛開始學習javafx來構建桌面應用程序。 但是我不明白一件事。 這是我的問題:我們可以通過編寫代碼來創建gui,如下所示:


在此處輸入圖片說明


或者,我們可以使用場景構建器創建gui,如下所示:

在此處輸入圖片說明


如果可以使用第二種方法,為什么還要使用編寫代碼,例如在何處放置此標簽或按鈕等?

我是新手,所以我不知道第二種方法是否有任何缺點。

我自己主要從事FXML工作,我喜歡SceneBuilder的WYSIWYG方法,但是在某些情況下,我會回到編碼UI。

例如,我有一個應用程序,用戶最多回答10個問題。 問題或它們的數量在編譯時未知。 我在運行時在GridPane中創建問題的標簽和復選框。 GridPane是FXML布局的一部分。 可以僅使用FXML使用ListView和自定義ListCells來完成此操作,但這要花更多的工作,並且我不需要Cell重用,因為問題太少了。

此外,可能有必要設置10x10按鈕,將100個按鈕放入FXML中並不是一件好事。 當我在Android上實現此類游戲時,就使用了功能。

同樣,當您有很多非常相似的視圖(除了很小的位置差異之外)都非常相似時,您可能希望在代碼中創建它們,而不是制作多個幾乎相同的FXML文件。

我是新手,所以我不知道第二種方法是否有任何缺點。

如果時間允許,請使用兩種方法分別編寫您的UI!

認真地說,如果您是新手,並且想了解這兩種方法的陷阱,通常沒有比上一些場景更好的方法,掌握這兩種工具包並查看在不同情況下更喜歡哪種方法了。

在明顯的情況下,一種情況會變得比另一種情況更好,但是“中間”情況通常會歸因於個人喜好(並且在這種情況下,不僅是您在發展,還要基於團隊的喜好並遵守公司的代碼風格要求。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM