我编写了一个在OS X和Windows上运行的Java桌面应用程序。
我使用Java和JFrame
作为窗口框架,我希望允许仅以垂直方式调整此窗口的大小。
我知道有frame.setResizable(false)
,但它会阻止两种方式调整大小。
我用过:
frame.setMaximumSize(new Dimension(300, 1000));
frame.setMinimumSize(new Dimension(300, 500));
这意味着我在horizontal = 300
和vertical = 1000
以及最小帧大小horizontal = 300
和vertical = 500
中声明最大帧大小,并在OS X上声明它可以工作(可以从500调整垂直大小)到1000,水平被阻止),但在Windows上它不工作(允许以两种方式调整大小)。
我也尝试addComponentListener
但它会使帧拉伸然后再回弹,它看起来很难看。
如何阻止水平调整大小并仅允许垂直调整大小?
有人有类似的问题吗?
有任何解决方法吗?