BufferedImageを使っていれば,paintComponentでコピー(drawImage)するときに 拡大縮小できますから,とても簡単です。
paintComponentでwidthとheightを求めて,その大きさを指定してdrawImageします。
public void paintComponent(Graphics myg){
super.paintComponent(myg);
pcct++;
//myg.drawImage(buffimg, 0, 0, this);
myg.drawImage(buffimg, 0, 0,getSize().width, getSize().height,this);
}

上記プログラムをつくって動作を確認しなさい。