【问题标题】:How to resize an image in a JLabel as the window resizes? How to maintain proper scale?当窗口调整大小时,如何调整 JLabel 中的图像大小?如何保持适当的规模?
【发布时间】:2013-04-05 23:20:39
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: java image swing resize jlabel


    【解决方案1】:

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

    【讨论】:

    • 效果很好。我使用了调整大小事件的方法: lbl.addComponentListener(new ComponentListener(){ public void componentResized(ComponentEvent evt) { resize();} 现在只需编辑我的调整大小方法以使其保持比例
    • @Zima:一些示例或比例缩放显示在here
    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 2014-05-24
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    相关资源
    最近更新 更多