3

我很擅长 java 编程,但对 GUI 开发很陌生。我想将多年前制作的控制台二十一点游戏变成人们可以通过我使用 netbeans 构建的 GUI 进行游戏的游戏。我认为如果没有 GUI,当我将游戏添加到我的工作组合中时,大多数人都不会认真对待

我创建了一个大小设置为 1000X700 像素的 JFRAME,在它之上是一个具有深绿色背景的 JPanel 来模拟二十一点表。

在深绿色 JPanel 的顶部,我有一个小的 60X93 JLabel,其图标设置为扑克牌的背面。这代表经销商,我想将它水平和垂直放在它所在的 JPanel 顶部。

但是,在特定 GUI 的 netbeans 工具栏中,“水平居中”和“垂直居中”选项显示为灰色且不可点击,即使我选择了作为经销商的 JLabel。我什至尝试过单击以选择 JLabel 和它所在的 JPanel,但“水平居中”和“垂直居中”选项仍然是灰色的。

有人可以帮助我或提供指导吗?谢谢...我花了 2 天时间在谷歌上搜索,但我不明白其他人如何没有遇到同样的问题。

4

2 回答 2

2

有趣的问题。我已经使用 NetBeans 多年了,老实说,在您指出这些图标之前,我什至从未注意到这些图标。我也无法让他们做任何事情。

但是,如果您不熟悉 Java 中的 GUI 开发……您应该阅读有关布局管理器的信息,并花一些时间阅读GridBagLayout 教程。GridBagLayout 是迄今为止 Swing 开发中最受欢迎的布局管理器。如果你愿意,你可以通过专门使用它来获得,因为实际上只有少数真实情况下使用另一个布局管理器更有意义。

为了您的直接目的:在您的 Inspector 视图中,右键单击 JPanel 并选择“Set Layout -> Grid Bag Layout”。现在,您将在 JPanel 下方的 Inspector 树视图中看到您的布局管理器。右键单击它并选择“自定义”。将弹出一个窗口,您可以在其中单击任何您感兴趣的组件并调整各种设置(例如边距、填充等)。您感兴趣的设置是“Anchor”,您想要的值是“Center”。选择您的 JLabel 后,您可以从左上角的下拉菜单中调整此设置...或在顶部底部以图形方式进行调整。

无论哪种方式,如果您要进行任何类型的 Java GUI 开发,而不是最琐碎的“Hello World”示例……您很快就会使用 GridBagLayout。所以你不妨潜入!

于 2010-10-08T19:02:43.443 回答
0

让我解释一下工具按钮选项“水平居中”和“垂直居中”

Matisse Designer 上提供的所有六个工具栏按钮都用于对齐彼此相关的组件。只有当您在设计器上选择多个组件时,这些按钮才会被激活。

当我们在设计器窗口中选择两个或多个组件时,可能是 JPanel 或 JFrame,然后单击“水平居中”按钮,所有选定的控件(组件)都将一个在另一个下方对齐,这样所有组件的中心点都在在一条垂直线上。这意味着它们在水平方向上移动,以使它们在另一个下方完全对齐。

“Center Vertically”按钮在垂直方向上进行对齐。因此,要回答您的问题,您用于在 JFrame 中居中组件的工具是不正确的工具。它们用于相对于彼此而不是容器对齐组件。

如果您选择 JPanel 和 JPanel 内的组件,则工具按钮将被禁用。只有在同一个容器中选择组件时,对齐设置按钮才可用,即在同一个容器下的组件。

要将组件安排在 JFrame 的中心,您可能必须添加一些自定义代码或使用其他布局管理器,而不是设计者默认使用的 Group Layout。

关于
那格浦尔的 Tushar Joshi

于 2010-10-08T19:24:41.027 回答