2015-02-10 76 views
1

大型應用程序(有很多窗口,可以說用戶管理,角色,付款等)是如何設計的。我是一名Web開發人員,我習慣在不同的html文件中開發不同的屏幕。我想知道如何在不同的文件中拆分窗口代,而不是隻有一個巨大的應用程序類。 在此先感謝...Java FX多窗口應用程序

回答

2

在JavaFX中,您可以使用與Web開發中類似的方法。

使用BorderPane作爲根窗格。

創建主菜單

您可以使用MenuBar菜單和MenuItems。您也可以在屏幕左側使用TreeViewListView。要在左側定位TreeView/ListView,您可以使用BorderPane並將其設置爲左側setLeft

我更喜歡的方法是使用HyperLink控件。將多個HyperLink's添加到VBox,並再次將它們設置在BorderPane的左側。點擊後,他們將處理在BorderPane中心設置的所需形式的事件。

I.e.

enter image description here

+0

非常感謝您的快速回答!這正是我想知道的!所以,我想我應該在分離的文件中實現每個窗格並以編程方式將它們添加到(即)onclick權利? – MRodriguez08 2015-02-10 23:45:57

+0

@ MRodriguez08是的! – 2015-02-10 23:46:24

+0

非常感謝@Branislav Lazic,我會繼續解決這個問題。 – MRodriguez08 2015-02-10 23:48:35

3

的問題是有點過於寬泛全面回答,但我還是覺得這裏提供了部分答案可能是有用的。

有關Banislav控制可交換窗格(不使用FXML)的超鏈接策略的實現,請參閱相關問題:How to have menus in java desktop application

對於基於FXML的小型切換窗格框架,請參閱:Loading new fxml in the same scene及關聯的sample code。請注意,示例適用於小型應用程序,對於大型應用程序,更優先考慮更嚴格的框架。

從上面列出的小框架開始的下一步將是類似於「簡約(3類)JavaFX MVP框架」的afterburner.fx。即使很小,afterburner.fx也可能足以用作中型應用程序的核心。您可以找到一個使用名爲airhacks-control的afterburner.fx構建的小型示例應用程序。

如需瞭解更多信息,您可以研究SceneBuilder and SceneBuilderKit的來源。 SceneBuilder是一個用JavaFX編寫的開源設計工具。對於來自網絡背景的人來說,理解和修改代碼可能是一個挑戰,因爲它的實現與傳統的Web應用程序有很大不同。

對於非常大的應用程序,基於全功能平臺(如NetBeans RCP)的應用程序可能會是一個首選方法,但是到目前爲止,這可能是一項艱鉅的任務,可能需要混合多個框架,而不是純粹在JavaFX中編寫一切。

+0

感謝您的回答,現在看來,在我看來,Branislav的方法已經足夠考慮我的知識水平和我的應用程序的大小。另一方面,很高興知道有一些JFX框架來開發這些類型的應用程序,所以很快我會做一些研究來取得聯繫。謝謝@jewelsea – MRodriguez08 2015-02-11 15:58:22