【发布时间】:2013-04-30 19:02:08
【问题描述】:
我正在使用 Java 开始我的旅程,并且正在玩 swing。我用 JScrollPane 做了一些简单的 JFrame,我正在寻找一种方法来将我的框架限制为预设的最小和最大尺寸。我在网上搜索了 setMaximum 和 setMinimum 以及它们的错误程度,但我什么也没找到(除了一些奇怪的 ComponentListener)。然而 setMinimum 工作正常(至少现在),但我无法让 setMaximum 工作。如何设置这样的约束?
编辑:
我所说的“除了一些奇怪的ComponentListener”的意思是它可以让我调整框架的大小,然后再调整它的大小。我想要实现的是不可见的界限,它可以防止框架走得更多。
EDIT2:
似乎这个问题与我的操作系统(即 OSX)有关,ComponentListener 在 Windows 上运行良好。但是在 Mac 上,当我开始将窗口拖出时,会调用 ComponentMoved 并且只有当我释放鼠标按钮时才会调用 ComponentResized。当我将代码从 Resized 复制到 Moved 时,首先,窗口在 MaximumSize 上调整大小几分之一秒,然后调用 apropiet 代码,一切正常很好,但是这种闪烁是远远不能接受的。我什至重载了 paint(Graphics g) 以首先重置大小,然后调用 super.paint 但结果相同。
【问题讨论】:
-
Except some weird ComponentListner- 那么你就有答案了。