2012-11-16 37 views
3

回想一下,在Visual Basic編程的日子裏,我記得很容易創建一個多表單程序。用JavaFX或Swing編寫的MDI

在gui設計師中,我可以根據需要創建儘可能多的表單,然後在需要的地方將其加載到我的程序中。

我在Java中做這件事非常困難。

我開始使用Java FX場景生成器,但很快發現它似乎沒有很好的MDI支持。所以,回到Swing。但是,我再次看不到一種設計多表單應用程序的簡單方法。

我在某處讀到JDesktopPane是要走的路,因爲它可以讓您擁有不同的內部框架,但是我沒有辦法在NetBeans GUI設計器中設計多個框架。

您會認爲您可以在設計器中隱藏內部框架,以便佈置其他框架。雖然我可以將多個幀添加到我的JDesktopPane,但它們都相互重疊,因此無法設計多個幀。

是否有任何工具可以做我想做的事情,還是我只需要在沒有設計師的幫助下咬住子彈並編寫guis代碼?

簡單地說,我只是想創建一個主屏幕

  1. 輸入新客戶
  2. 搜索現有客戶
  3. 快速估計
上顯示三個或四個選項簡單的應用程序

並根據用戶選擇哪個,打開適當的表單。這似乎是幾乎所有程序的基本要求,我不明白爲什麼在開發設計/開發工具時,實際上創建一個具有多個窗口/窗體的應用程序是從未想過的。思考?建議?

回答

5

如果您非常喜歡使用JDesktopPane的多文檔界面(MDI),請使用它自己的類形式創建每個窗體。不要將它們拖到桌面上。這將允許你隔離它們。

(你可以雙擊一個內部框架,它應該進入「隔離」模式,基本上使得它,你可以看到的唯一的事情)

但是,除非窗口共享信息(例如,你希望看到的信息在一個窗口中改變另一個信息),我會避免它。

更好的解決方案可能是使用CardLayout,這將允許您根據需要在每個表單之間切換。

同樣,我會先從單獨的JPanel之類的東西開始構建表單,當您準備好時,將它們添加到主表單中。

我總是鼓勵那些重新進入Swing的人手動編寫他們的表單,它會給你一個很好的設計表單和佈局管理器的力量。

+0

啊,雙擊框架以隔離它正是我所期待的。太棒了!簡直不敢相信。 由於我非常有興趣學習編程「正確」的方式,使用正確的編程約定,謹慎分享你的見解,爲什麼你不建議使用這種方法? –

+2

MDI方法已經貶值10年以上(作爲設計方法 - 而不是Java)。就我個人而言,我發現'JDesktopPane'是有限的(不支持開始滾動),現在大多數人擁有多個顯示器,將用戶限制在自包含的環境中非常令人沮喪(我使用MDI應用程序我們的客戶抱怨它不會停止)。此外,窗口管理可能很困難,而不是不可能,但要準備好寫很多代碼。還有一個決定是用無關信息來重載客戶端 – MadProgrammer

+0

感謝您的回覆並花時間跟進。非常感激。 –