1

我已经使用 netbeans 制作了一个专注配对游戏。有关游戏的更多详细信息,请点击此处 http://en.wikipedia.org/wiki/Concentration_(game)

在游戏开始之前,用户可以选择游戏版本(计算机对人类,人类对人类),他们的名字和计算机在计算机对人类版本中必须记住的卡片记忆,还可以选择尺寸和百搭牌.他可以选择指定的尺寸和百搭或他自己喜欢的尺寸(列、行、百搭)。当然,我对行和列有限制:52。但是当用户使用例如 52x52 或 50x3 作为游戏的尺寸时,使用 setResizable 完全没有帮助......它看起来很糟糕(顺便说一下,图像是 73x97 像素) .

我的组件不是按钮,它们是我自己的关于卡片的 gui 类的对象(并且与另一个包中卡片的逻辑有联系)。所以我应该尝试使用 gridbaglayout 而不是 gridlayout?Gridbadlayout 可能是一个真正令人头疼的问题,因为我已经将它用于我的单选按钮。

现在我正在使用gridlayout,但是当我设置启用(true)时,例如10行实际上适合屏幕,图形卡将保持小而不是“填充”整个组件......

http://postimg.org/gallery/53g9ag0i/667f8271/我在这里的意思

我应该调整所有组件的大小还是限制太大而我应该把它变小?

4

2 回答 2

0

为什么不计算最佳尺寸?计算一排卡片的最大值是多少。然后估计卡片的最小图标大小,以便任何人都可以阅读它。然后你只需要计算:ScreenDimensions / minimalCardSize。然后您可以从用户那里调整所需的大小。我就是这样做的。但我想使用空布局。

于 2013-07-24T06:16:48.020 回答
0

GridLayout当您想要具有所有相同尺寸的组件时,通常很好。我建议简单地将你的卡片网格放在一个JScrollPane.

或者,如果在网格尺寸较大时让游戏区域可滚动是不可接受的,您可以查看这个问题的答案:Java 中如何锁定 gridLayout 的纵横比?.

另一种可能性正在扩展GridLayout,以便它尝试保持卡片的固定纵横比。(为此,您显然需要能够以不同尺寸正确绘制自己的卡片)。

于 2013-07-24T11:06:08.267 回答