キャンバスにグラフデータ構造を描画できるJavaアプレットを作成しようとしています。これを行うには、ノードを作成する場所をクリックし、ノードをクリックしてそれらを接続します。paint()
問題は、メソッドを正しく動作させることができないことです。mousePressed(MouseEvent e)
を使用して、メソッド内のグラフ(およびキャンバス上の正方形)に新しいノードを追加します。
Graphics g = this.getGraphics();
g.setColor(Color.blue);
g.fillRect(e.getX(), e.gety(), 40, 40);
ウィンドウのサイズを変更すると、塗りつぶされた長方形がすべて消えるまで、すべてが正常に機能します。paintメソッドを空のメソッドにオーバーライドしましたが、同じことが起こります。ユーザーがマウスを使用して操作するまで、どの長方形が存在するかわからないため、paint()内にfillRectコマンドを追加できません。
g.fillRect()
マウスリスナーメソッド内で使用して、それらを固定するにはどうすればよいですか?