【问题标题】:How to get the width and height of jLabel when downsizing a window缩小窗口时如何获取jLabel的宽度和高度
【发布时间】:2014-08-28 10:36:25
【问题描述】:

我有一个事件formComponentResized 我想在我放大和缩小 Jdialog 一个内部的 jLabel 时获取值。当我放大窗口事件时,得到jLabel1.getWidth()jLabel1.getHeight() 的新值,但是当我缩小它时,它没有得到新值,它得到jLabel1 的旧宽度和高度。有谁知道这是什么原因,或者如何解决这个问题。

代码:

private void formComponentResized(java.awt.event.ComponentEvent evt) 
{                                      
        BufferedImage resizedImage=ImageTools.resize(buffx,jLabel1.getWidth(),jLabel1.getHeight());       
        jLabel1.setIcon(new ImageIcon(resizedImage));
}

调整大小方法:

public static BufferedImage resize(BufferedImage image, int width, int height) 
    {
        BufferedImage bi = new BufferedImage(width, height, BufferedImage.TRANSLUCENT);
        Graphics2D g2d = (Graphics2D) bi.createGraphics();
        g2d.addRenderingHints(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY));
        g2d.drawImage(image, 0, 0, width, height, null);
        g2d.dispose();
        return bi;
    }

【问题讨论】:

    标签: java events height width jlabel


    【解决方案1】:

    如果您尝试根据标签的大小缩放图像,请查看Stretch Icon,它会自动为您执行此操作。

    有谁知道这个问题的原因,或者如何解决这个问题。

    嗯,您发布的代码不完整,因此我们不知道您如何使用该代码的上下文。例如,“formComponentResized”不是 Swing 事件。您是否将组件侦听器添加到标签或面板中。你说框架变小了不行,那么框架变大了怎么办。也许问题出在布局管理器上。

    当您发布问题时,请发布正确的 SSCCE 来演示问题,这样我们就不必猜测所有这些问题。

    【讨论】:

      猜你喜欢
      • 2013-11-29
      • 2014-05-20
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      相关资源
      最近更新 更多