我聽說把同一級別的組件放在另一個同級別組件上是不好的做法。正確的鞦韆設計
我說的是在這種情況下JPanels。我目前將所有內容分成單獨的JPanel,每個JPanel都有自己的佈局,然後將它們添加到主內容窗格(JPanel)中。我覺得這種方式比配置適用於我所有可能遍佈各地的組件的佈局要容易得多。我的邏輯是否有缺陷?
我聽說把同一級別的組件放在另一個同級別組件上是不好的做法。正確的鞦韆設計
我說的是在這種情況下JPanels。我目前將所有內容分成單獨的JPanel,每個JPanel都有自己的佈局,然後將它們添加到主內容窗格(JPanel)中。我覺得這種方式比配置適用於我所有可能遍佈各地的組件的佈局要容易得多。我的邏輯是否有缺陷?
有沒有錯具有面板的內部面板。但是,如果你正在做很多事情,你可能要考慮一個佈局管理器(我最喜歡的是MiGLayout),它支持相當複雜的控件排列,而不需要使用大量的嵌套面板。
在一天結束的時候,使用的是更容易爲你保持你的代碼組成。如果您擁有相互獨立的控件分組,那麼將它們放在單獨的面板中是很好的設計 - 它允許您將該面板分開(用於測試,甚至用於UI中的創意窗口)。如果這些控件集合彼此內在聯繫在一起,請考慮使用高級佈局管理器的單個面板。
在某些情況下,就必須的(典型的例子是一個面板與列表和用於所選擇的項目在列表中的細節視圖另一面板)兩個面板之間的結合量小。在這種情況下,我通常使用兩個單獨的面板和兩個單獨的演示模型,然後將當前選定的項目綁定到檢查器面板的父級。但是,如果您發現您正在使用多個面板的值來驗證,數據存儲等等,那麼您可能會將事情劃分爲太多面板。
我已經做了很多這多年來,我已經看中的位置就是我撰寫UI一起潛在的演示模型,背視圖邏輯線。我很少讓UI的佈局驅動我使用了多少個面板等等 - MigLayout(並且我確信還有其他的)甚至可以使得複雜的UI佈局非常簡單,並且設計類更好視圖和模型的方式使代碼更易於測試和維護。
我不明白你的第一個陳述,但你的第二個看起來很好。更好地隔離自己的容器內的複雜佈局 - 恕我直言 – MadProgrammer
@MadProgrammer基本上,有多個JPanel通過父JPanel是錯誤的嗎?即使它沒有錯,是否有更好的解決方案,我可以使用? – LanguagesNamedAfterCofee
@Languages:不,將多個JPanel添加到父JPanel並沒有錯。我們一直這樣做。我仍然不確定是什麼引發了這個問題,或者你到底在哪裏發佈這個問題。請提供一些背景資料。 –