【问题标题】:JMenuItem ImageIcon too bigJMenuItem ImageIcon 太大
【发布时间】:2011-10-18 12:05:42
【问题描述】:

我遇到了一个问题。我的图像太大,所以它放大了相应的 JMenuItem。我不想开发自行车之类的

ImageIcon image = new ImageIcon(new ImageIcon("/home/template/img.jpg")
        .getImage().getScaledInstance(32, 32, Image.SCALE_DEFAULT));

还有其他方法可以实现吗?

【问题讨论】:

    标签: java swing


    【解决方案1】:

    如果您不想在代码中缩放图像(我想这就是您在问题中的意思?),为什么不直接将源图像设置为开始的大小?最简单的解决方案有时是最好的!

    另外,getScaledInstance() 通常是个坏主意。 This 解释了原因并提供了更好的调整图像大小的选项。如果您在其他地方使用该图像,那么值得阅读该文章并使用更好的技术(例如 graphics.drawImage())对其进行缩放。但如果您只是在菜单中使用它,那么调整源图像的大小可能是最好的做法。

    如果你要调整大小:

    BufferedImage image = ImageIO.read("img.jpg");
    BufferedImage ret = new BufferedImage(32,32,BufferedImage.TYPE_RGB);
    ret.getGraphics().drawImage(image,0,0,32,32,null);
    

    类似的东西应该会给你图像,然后你可以使用 ret 创建你的 ImageIcon。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-04
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 2023-04-01
      • 2017-12-26
      • 2016-08-25
      相关资源
      最近更新 更多