3
我想在我的GUI上使用带自定义大小的图标的java JLabel。像这样:自定义JLabel图标
我用这个代码来改变原来的图标尺寸:
ImageIcon imageIcon = (ImageIcon) jLabel1.getIcon();// new ImageIcon("Play-Hot-icon.png");
ImageIcon thumbnailIcon = new ImageIcon(getScaledImage(imageIcon.getImage(), 25 , 25));
jLabel1.setIcon(thumbnailIcon);
,这里是调整大小的图像
private Image getScaledImage(Image srcImg, int w, int h){
BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = resizedImg.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2.drawImage(srcImg, 0, 0, w, h, null);
g2.dispose();
return resizedImg;
}
但调整图像和使用后的代码这段代码的结果就是这个! :
我怎么能期望我的JLabel的图像?
问候, 萨贾德
是否有原因不使用[Image.getScaledInstance](http://download.oracle.com/javase/1.4.2/docs/api/java/awt/Image.html#getScaledInstance(int,%20int ,%20int))来缩放图像? – 2011-01-31 02:30:37