设置JFrame的最大大小

时间:2013-05-06 23:00:51

标签: java swing jframe

我正在用Java开始我的旅程,我正在玩摇摆乐。我在里面用 JScrollPane 制作了一些简单的 JFrame ,我正在寻找一种方法来限制我的帧以预设最小和最大尺寸。我在网上搜索了 setMaximum setMinimum 以及它们有多错,但我什么都没找到(除了一些奇怪的 ComponentListener )。但是 setMinimum 工作正常(至少目前为止),但我无法使 setMaximum 工作。我该如何设置这样的约束?

修改
我的意思是“除了一些奇怪的 ComponentListener ”,它允许我调整框架大小,然后重新调整大小。我想要实现的是不可见的约束,这会阻止框架更多。

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

1 个答案:

答案 0 :(得分:1)

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