我想在一個面板中有一個JTable組件,以佔用儘可能多的窗口空間。然而,在下面,我想添加另一個固定大小的面板,其中有幾個按鈕。用什麼樣的佈局來允許底部面板具有固定尺寸,同時允許JTable面板根據窗口的尺寸拉伸?在Swing中使用哪個面板
回答
很難想象你想要什麼,但在這裏是從Oracle的摘錄,可以幫助你:
方案:你需要儘可能多的空間來顯示一個組成部分,它可以得到的。
如果它是其容器中的唯一組件,則使用GridLayout或BorderLayout。否則,BorderLayout或GridBagLayout可能是一個很好的 匹配。
如果使用BorderLayout,則需要將空間耗盡的 組件放置在中心。使用GridBagLayout,您需要設置組件的 約束,以便fill = GridBagConstraints.BOTH。 另一種可能性是使用BoxLayout,使空間飢渴的 組件指定非常大的首選和最大大小。
方案:你需要在其自然大小顯示在一個緊湊的排幾個組件。
考慮使用JPanel將組件組合並使用JPanel的默認FlowLayout管理器或BoxLayout管理器。 SpringLayout也適用於此。
方案:您需要的行和列,以顯示相同尺寸的幾個組件。
GridLayout是完美的。
方案:你需要在行或列中顯示幾個組件,可能有數量不等的定製校準自定義組件的尺寸之間的空間,或。
BoxLayout是完美的。
方案:需要顯示對齊的列,如在形狀類似的界面,其中標籤的列用於描述在相鄰列文本字段。
SpringLayout是一個很自然的選擇。幾個教程示例使用的SpringUtilities類定義了一個makeCompactGrid方法,該方法可讓您輕鬆地對齊 組件的多個行和列。
場景:您有複雜的佈局和許多組件。
考慮或者使用一個非常靈活的佈局管理諸如 的GridBagLayout或SpringLayout中,或組分分組到一個或更多 JPanels簡化佈局。如果採用後一種方法,則每個JPanel可能會使用不同的佈局管理器。
實現它的最簡單方法是使用BorderLayout
。把你的桌子放在中間。然後用FlowLayout
創建另一個面板,並將其放在主面板的南面。
- 1. 在Swing中切換面板
- 2. Swing中的可選面板
- 3. Swing登錄面板
- 4. 使用org.fest.swing.fixture.FrameFixture :: panel()發送Swing面板,它需要面板顯示?
- 5. Java Swing - 在面板中繪製圖形
- 6. winforms面板vs java swing面板
- 7. 在Swing中使用自定義繪畫的分層面板
- 8. 如何使用Swing在JFrame中添加面板
- 9. 在Java Swing中使用線包裝和換行的面板
- 10. 在哪裏使用更新面板
- 11. Java swing佈局,3個面板
- 12. Java Swing無法將多個面板添加到面板
- 13. Java Swing - 設置面板
- 14. Java Swing - 可滾動面板
- 15. Swing:動態顯示面板
- 16. Java Swing選擇面板
- 17. Swing:面板尺寸問題
- 18. 連接到java swing面板
- 19. Java Swing面板大小
- 20. 的Java Swing面板問題
- 21. 在Swing中使用麪包屑
- 22. 使用Java Swing的顯示器中的可調節面板
- 23. .net模板我在哪個頁面上?
- 24. 哪個maven2原型用於Swing桌面應用程序?
- 25. 用於拖放圖像文件的面板,使用java swing
- 26. 如何從第一個面板獲取值並在Java Swing中插入第二個面板
- 27. 由「中間」面板分隔的兩個JList的佈局? (Java Swing)
- 28. 如何使用Swing創建自定義面板佈局?
- 29. 使用miglayout和嵌套面板的Swing佈局
- 30. 嘗試使用Swing重新創建Skype對話面板
這對齊按鈕上方的表,但如果我想調整窗口的大小,錶停在某一點調整,但需要的窗口的固定藥水。它包裹在滾動窗格btw – Bober02 2012-08-02 14:40:55
對不起,我的壞。正在使用北而不是中心。爲什麼它有所作爲?在這兩種情況下,我都告訴桌子來填充視口... – Bober02 2012-08-02 14:42:14