JMenuItem ImageIcon太大了

我遇到了一个问题。 我的图片太大,所以放大了相应的JMenuItem。 我不想发展自行车

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

有没有其他办法可以做到这一点?

如果你不想在代码中缩放图像(我认为这是你的意思在这个问题?)为什么不把这个大小的源图像开始? 最简单的解决scheme有时是最好的!

此外,getScaledInstance()通常是一个坏主意。 这解释了为什么,并提供更好的选项来调整图像大小。 如果你在其他地方使用图像,那么值得阅读这篇文章,并使用更好的技术(比如graphics.drawImage())对其进行缩放,但是如果你只是在菜单中使用它,那么调整源图像大小最好的事情要做。

如果您要resize:

 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创build你的ImageIcon。