0

我需要在 GridBagLayout 网格的中心放置一个圆圈。如何找到当前单元格的宽度和高度?

int center = (int) (  ((double) BoardSize / Num/2) - ((double) size/2.0) );
g.fillOval(center, center, size, size);

目前我正在使用包含框架的大小(BroadSize),但我想向 GridBag 添加其他元素,这会让人感到困惑。

4

1 回答 1

0

您无法获得单元格大小。

您需要使用一个适当的组件,该组件将在可用空间中居中。您可能需要覆盖自定义组件的setAlignmentX()setAlignmentY()值。当然,这种方法也假设您已经getPreferredSize()正确地覆盖了组件的方法。

最简单的方法是使用带有图标的 JLabel。请参阅使用形状来轻松完成此操作。

于 2013-10-24T16:01:44.627 回答