DrawPanelに、makeImageというメソッドを用意して、そこでImageをつくっています。

actionPerformedのところで、下のように、imgに代入しています。
さっきは削ってしまいました。
何度もすみません。
public void actionPerformed(ActionEvent e) {
  if(e.getSource() == btn){
    img = d_pnl.makeImage();
    d_pnl.repaint();
  }
}