swingで四角形をマウスドラッグで移動したいのですが、

Java2DでRectangle描画、マウスの位置から該当するRectangleを検出、
描画用タイマー作動、移動中の描画・・・

のようなコーディングを自前でやる必要があるのでしょうか? それとも
JPanelあたりを簡単にドラッグで動かせるものなんでしょうか? やりた
いことはチャート図なんかをつくるような感じなのですが。