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