java - 如何随着窗口大小的调整而调整 JLabel 中图像的大小?如何保持适当的规模?

标签 java image swing resize jlabel

假设我在 JLabel 中有一张图像。以下是我目前添加它的方式:

p=resizeImage(p,lbl.getWidth(),lbl.getHeight());
lbl.setIcon(p);

我想在调整标签大小时调整它的大小。

  • 我怎样才能做到这一点?
  • 如何在维护的同时调整大小 比例?

我可以编写一个小函数来获取图像宽高比,获取标签宽度和高度,找到两者中较小的一个(按比例)并手动计算新的高度和宽度。这不是问题,但我想知道是否有更干净的方法。

最佳答案

您可以监听标签的调整大小事件,或者,我更喜欢直接绘制图像(用 JComponent 替换 JLabel)。

关于java - 如何随着窗口大小的调整而调整 JLabel 中图像的大小?如何保持适当的规模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15988163/

相关文章:

java - 多个 JSlider 相互 react 始终等于 100%

java - 突出显示 jTextField 中用户输入搜索的所有单词

java - 简单的 Java 列表问题

java - 在 Java 中如何抛出和捕获异常?

java - 如何重写父类的方法

java - 使用 java.util.Date 获取过去的日期

c - C 中的 Lanczos 插值

ios - 使用 iOS 在 opencv 中进行边缘平滑和填充内部轮廓

c# - 如何在图片框上绘制文字?

c# - 用于桌面应用程序的 Java Swing 或 Windows 窗体?