java - JFrame 的比例调整大小

标签 java swing resize jframe

我正在尝试以一种不寻常的方式调整 JFrame 的大小:框架的宽高比必须保持不变。我写了这个简单的代码;在这种情况下,比率为 1/2:

public class Panel extends JFrame {
  public Panel() {
    addComponentListener(new ComponentAdapter() {
      @Override
      public void componentResized(ComponentEvent e) {
      System.out.println("Reseized");
      setSize(getSize().width, getSize().width * 2);
    }
  });
}

但是这个frame有重绘的问题,只有在用户拖动鼠标的时候才有效。拖动完成后,框架的右下角位于用户释放鼠标的位置。

也许 componentResized 方法不适用于这种情况?那我应该用什么? 提前致谢。

最佳答案

窗口大小调整由操作系统处理;您只能在事后获得更新。因此,虽然您可以在调整大小后更正大小,但无法在调整大小时限制比例。

关于java - JFrame 的比例调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7876186/

相关文章:

java - 将 SVG 图像提交到 Servlet

java - 谷歌应用引擎 : Warmup/Loading Requests and Always On

java - 我可以在一个 JFrame 上设置两种不同的外观和字段吗?

java - DEFAULT_SIZE 和 PREFERRED_SIZE 有什么区别?

javascript - HTML5 Canvas 如何使图像可以通过 Kinetic.js 调整大小?

cocoa - 如何为 NSWindow 编写自己的调整大小角/句柄?

java - 如何在服务器中接收表单参数值?

java - 最终 transient 字段和序列化

java - 为什么使用 Gui 输入和监听器方法会出现 Null 指针异常?

java - 如何在 java 中的 DefaultListModel 中保存数据