我现在就碰到这样的问题
------解决方案--------------------------------------------------------
up
------解决方案--------------------------------------------------------
图片不按比例自动填满JLabel?那不同比例的图片岂不是会很难看?
让图片按比例自动缩放去适应JLabel倒是可以。
label.setImage(getImage(new URL("http://...));
------解决方案--------------------------------------------------------
import java.awt.* ;
import javax.swing.* ;
import java.util.* ;
public class Test extends JLabel{
private Image im = null ;
public static void main(String args[]){
JFrame w = new JFrame() ;
w.add(new SQLTest()) ;
w.setSize(200 , 200) ;
w.setLocation(200 , 200) ;
w.setVisible(true) ;
}
public void paint(Graphics g){
if(im==null){
im = Toolkit.getDefaultToolkit().getImage("f:\\bg.jpg") ;
this.setIcon(new ImageIcon("f:\\bg.jpg")) ;
}
g.drawImage(im , 0 , 0 , this.getWidth() , this.getHeight() , this) ;
}
}
这个是我试验出来的一种解决办法,不知道为什么,只重写JLable的Component不起作用,必须要加上setIcon方法,而且里面的参数和要取得的Image还必须一致。但是这个办法可以让图片随着JLabel的大小而改变大小,希望对你有帮助
------解决方案--------------------------------------------------------
你可以把图片缩放至JLabel大小在设置上去
Image image=....
用这个方法得到缩放图片:image.getScaledInstance(int width, int height, int hints)
这里的width height 可以是你的JLabel的width height
hints 可以设置为Image.SCALE_FAST Image.SCALE_REPLICATE Image.SCALE_SMOOTH