Java JFrame 的缩放

4

是否可以创建一个JFrame并设置setResizeable(true),但是使x和y值按相同比例缩放,即您不能仅增加x或y,而应同时增加它们以保持比例?

1个回答

3

虽然不完美,但您可以在JFrame上添加一个ComponentListener,专门覆盖ComponentListener.componentResized -- (因为这是您所需的全部内容,您可以直接扩展ComponentAdapter)。

基本思路如下:

  1. 记录JFrame的初始大小(使用两个整数或Dimension对象)。
  2. 在组件调整大小时,获取JFrame的当前大小。
  3. 基于旧大小和新大小设置JFrame的新大小(可以根据哪个维度,高度或宽度增加最多或最少来进行设置。您可以尝试一下)。
  4. 记录JFrame的新大小。
  5. 重复以上步骤。

希望这可以帮助到您。


+1 所以,基本上每次组件调整大小时,你需要将X和Y调整为相同(也就是宽度和高度)。 - OscarRyz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接