我可以用Java设置一个窗口,使其具有统一的大小调整(即正方形)吗?

我可以用Java设置一个窗口,使其具有统一的大小调整(即正方形)吗?,java,swing,Java,Swing,我见过几个应用程序窗口只允许用户按对角线方向调整大小,所以它必须保持正方形 是否可以使用swing/java指定此约束?我还没有听说有任何内置的工具可以做到这一点。您可以从中的调整大小事件中添加一个和,从而触发窗口的调整大小以保持其方形。您应该能够修改调整大小事件处理程序以增加两个维度,而不仅仅是一个维度。,我会将一个ComponentListener附加到窗口,并在componentResistized方法中检查新窗口大小,并将宽度设置为等于高度,反之亦然 也许不是最有效的方法,但是…调整JF

我见过几个应用程序窗口只允许用户按对角线方向调整大小,所以它必须保持正方形


是否可以使用swing/java指定此约束?

我还没有听说有任何内置的工具可以做到这一点。您可以从中的调整大小事件中添加一个和,从而触发窗口的调整大小以保持其方形。

您应该能够修改调整大小事件处理程序以增加两个维度,而不仅仅是一个维度。

,我会将一个
ComponentListener
附加到窗口,并在
componentResistized
方法中检查新窗口大小,并将宽度设置为等于高度,反之亦然


也许不是最有效的方法,但是…

调整JFrame的大小是由操作系统来处理的,因此除非您按照所有其他答案的建议使用ComponentListener,否则很难控制

但是,如果您谈论的是JWindow,则不支持自动调整大小,您需要为此提供支持。条目可能会帮助您开始。我认为你需要做两个改变:

a) 将拖动限制在对角线上 b) 将“拖动距离”更改为宽度/高度拖动距离的最大值,并将该值用于以后的计算

因为我不知道这是否是你真正的要求,所以我不会再详细说明了