【问题标题】:Set maximum size of JFrame设置 JFrame 的最大尺寸
【发布时间】:2013-04-30 19:02:08
【问题描述】:

我正在使用 Java 开始我的旅程,并且正在玩 swing。我用 JScrollPane 做了一些简单的 JFrame,我正在寻找一种方法来将我的框架限制为预设的最小和最大尺寸。我在网上搜索了 setMaximumsetMinimum 以及它们的错误程度,但我什么也没找到(除了一些奇怪的 ComponentListener)。然而 setMinimum 工作正常(至少现在),但我无法让 setMaximum 工作。如何设置这样的约束?

编辑:
我所说的“除了一些奇怪的ComponentListener”的意思是它可以让我调整框架的大小,然后再调整它的大小。我想要实现的是不可见的界限,它可以防止框架走得更多。

EDIT2:
似乎这个问题与我的操作系统(即 OSX)有关,ComponentListener 在 Windows 上运行良好。但是在 Mac 上,当我开始将窗口拖出时,会调用 ComponentMoved 并且只有当我释放鼠标按钮时才会调用 ComponentResized。当我将代码从 Resized 复制到 Moved 时,首先,窗口在 MaximumSize 上调整大小几分之一秒,然后调用 apropiet 代码,一切正常很好,但是这种闪烁是远远不能接受的。我什至重载了 paint(Graphics g) 以首先重置大小,然后调用 super.paint 但结果相同。

【问题讨论】:

  • Except some weird ComponentListner - 那么你就有答案了。

标签: java swing jframe


【解决方案1】:

如果允许宽度和高度的新值,您可以将ComponentListener 添加到您的框架并检查componentResized(ComponentEvent e),如果允许,您可以通过setSize 调整框架的大小。

【讨论】:

  • 但它可以让我调整它的大小,然后再调整它的大小。我想要实现的是无形的界限,它可以防止框架走得更多。
猜你喜欢
  • 2017-03-27
  • 2011-10-14
  • 2022-01-18
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-31
相关资源
最近更新 更多