如何在swing中显示图片的固定区域呢?我们可以通过drawimage的方法来实现。
每一个控件显示一个图像都是通过它的drawimage的方法来实现的,这个方法写在控件自己的类中,我们如果想改变图片的显示方式就要重写这个方法。
方法1:
我们可以新写一个类继承这个类,如:
class MyLable extends JLable{
public void paint(Graphics g){
g.drawImage(……..);
}
}
drawImage 有很多种,其中一种是这样的:
g.drawImage(img,dx1,dy1,dx2,dy2,sx1,sy1,sx2,sy2,observer)
img是Image类型的图片,observer是要显示图片的地方。
dx是目标矩形,sx是源矩形,可实现自动缩放。
方法2:
我们可以直接在new 的后面写,如:
final JLabel label = new JLabel(){
public void paint(Graphics g){
g.drawImage(img, 0, 0, 40, 40, 0, 0, 80, 80, this);
}
};