gpt4 book ai didi

java - JMenuBar 使 JFrame "jump"

转载 作者:行者123 更新时间:2023-12-01 11:34:08 24 4
gpt4 key购买 nike

我正在创建一个海洋 map 的 Java 应用程序,其中我使用 JFrame 作为 Canvas 来绘制海洋本身。我在此之上有一个 GUI 作为 JPanel。我最近在 JPanel 中添加了一个具有不同功能的 JMenuBar。然而,我现在注意到,新添加的菜单栏“将应用程序”向下推约 10-15 像素 - 当我缩放/平移 map 时, map 会进行一些奇怪的“跳跃” - 可能是在尝试重新调整。

有人知道为什么会发生这种情况吗?

最佳答案

十分之九,您需要查看插图。

我已经有一段时间没有直接使用 Swing 了,但是所有容器都有一个名为 getInsets() 的方法。这将返回一个 Insets 对象,描述容器边框的大小 - 包括 JFrame。 JMenuBars 倾向于稍微插入这些插图,为您留下两个主要选项。

我建议在 JPanel 上绘图,并将其放置在 JFrame 中;这样您就不必担心 JMenuBar 了。使用面板作为 Canvas 。

另一个选项是在绘制时轮询插图,并相应地改变坐标;但如果您仍然可以避免的话,我必须建议您不要这样做,因为它几乎违背了我所有的模块化编程本能。

关于java - JMenuBar 使 JFrame "jump",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30174266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com