在Java中使用布局

时间:2013-02-21 01:33:54

标签: java swing layout awt layout-manager

我有JFrame布局BorderLayout,我使用JPanel添加BorderLayout.CENTER s 我有JPanel(使用CENTER添加),使用GridLayout放置4个按钮。

这些按钮很大,占据了整个屏幕。或者,我按照以下方式执行:

  • 我有一个布局为null的JFrame,我设置了JPanel边界并添加它们。
  • 我有一个JPanel: 它设置了它自己的界限,因此它占据了屏幕的中心1/2,并且只占屏幕的1/8 高。
  • 它使用网格布局添加按钮,并产生一系列漂亮的按钮。

显然第二个选项看起来更好,但是因为我希望符合规范,并且总是使用布局......如何混合自定义和布局?(或者只是解决我的问题)

1 个答案:

答案 0 :(得分:4)

当您向BorderLayout.CENTER添加组件时,它将展开以填充BorderLayout其他部分未使用的容器的剩余空间。此外,您一次只能将一个组件添加到BorderLayout.CENTER。后续添加将替换先前的组件。

至于解决您的确切问题,我建议您首先查看A Visual Guide to Layout Managers。这将为您提供有关Swing API中可用布局的入门知识。 Oracle还为每个布局提供了更深入的教程。通过嵌套布局,您可以在利用功能的同时为UI提供所需的外观,尤其是在调整窗口大小或以其他方式更改窗口时自动计算。