1

我有一个JFramewith layout BorderLayout,我添加JPanels 使用BorderLayout.CENTER 我有一个JPanel(使用 CENTER 添加),用于GridLayout放置 4 个按钮。

这些按钮非常大,占据了整个屏幕。或者,我按照以下方式进行操作:

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

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

4

1 回答 1

4

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

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

于 2013-02-21T01:39:41.717 回答