【问题标题】:Any way to resize my components on my Java Game?有什么方法可以在我的 Java 游戏上调整我的组件大小?
【发布时间】:2013-07-22 14:18:51
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: java user-interface netbeans graphics components


    【解决方案1】:

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

    或者,如果在网格尺寸较大时让游戏区域可滚动是不可接受的,您可以查看此问题的答案:How to lock aspect ratio of a gridLayout in Java?

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-27
        • 2015-10-26
        • 2010-09-20
        • 2012-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多