我想在一个面板中有一个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 GUI?
- 2. Swing中的可选面板
- 3. Swing登录面板
- 4. 使用org.fest.swing.fixture.FrameFixture :: panel()发送Swing面板,它需要面板显示?
- 5. winforms面板vs java swing面板
- 6. 如何使用Swing在JFrame中添加面板
- 7. 在Swing中使用自定义绘画的分层面板
- 8. 在Java Swing中使用线包装和换行的面板
- 9. 在哪里使用更新面板
- 10. Java Swing选择面板
- 11. Swing:动态显示面板
- 12. Java Swing - 设置面板
- 13. 使用Java Swing的显示器中的可调节面板
- 14. .net模板我在哪个页面上?
- 15. 哪个maven2原型用于Swing桌面应用程序?
- 16. 用于拖放图像文件的面板,使用java swing
- 17. 如何从第一个面板获取值并在Java Swing中插入第二个面板
- 18. 如何使用Swing创建自定义面板布局?
- 19. 尝试使用Swing重新创建Skype对话面板
- 20. 的Java Swing的GridBagLayout面板调整
- 21. 单独面板的Java Swing GlassPane功能?
- 22. 的Java Swing/AWT标签面板事件
- 23. Java Swing:让面板尽可能宽
- 24. 使用Java Swing作为选项卡控件的两个面板显示器
- 25. 从哪个线程应该在Swing-app中调用System.exit()?
- 26. 在Java Swing中,如何管理允许选择多个面板的面板列表?
- 27. DJ Native Swing JWebBrowser面板不能在JTabbedPane中工作
- 28. 面板无法在Java Swing中同时显示声音文件
- 29. 的Java Swing问题 - 使用调色板
- 30. 使用2个jframe swing Swing Jframe
这对齐按钮上方的表,但如果我想调整窗口的大小,表停在某一点调整,但需要的窗口的固定药水。它包裹在滚动窗格btw – Bober02 2012-08-02 14:40:55
对不起,我的坏。正在使用北而不是中心。为什么它有所作为?在这两种情况下,我都告诉桌子来填充视口... – Bober02 2012-08-02 14:42:14