さまざまな描画

以下でGraphcsオブジェクトを使った、いくつかの描画を確認します。 下記のラジオボタンで切り替えて、ドラックして確認しましょう。

package paint;
import java.awt.*;//Point、Color Graphicsなどのパッケージ
import javax.swing.*;//JPanelのパッケージ
import java.awt.event.*;//MouseMotionListenerなどのリスナーや、MouseEventなどのイベント用
import java.awt.image.BufferedImage;//編集可能なメモリイメージ用

//描画対象のパネル
public class PaintPanel extends JPanel implements MouseMotionListener
{
	Image brushImg;//ブラシイメージ管理用

	//描画すべきタイミングで、呼び出されるメソッド
	public void paintComponent(Graphics g){
		super.paintComponent(g);
		
		Color color1 = new java.awt.Color(0x99, 0, 0x0FF);//RGBの色を指定して色を作成
		g.setColor(color1);//描画色設定
		g.drawRect(5, 5, 200, 100);//(5,5)が左上隅の座標で、幅200、高さ100の長方形描画
		g.drawOval(5, 5, 200, 100);//(5,5)が左上隅の座標で、幅200、高さ100の楕円描画
	}
	
	public PaintPanel() {//コンストラクタ
		
		
		
		
		
		
			

		this.addMouseMotionListener(this);//このクラスに実装したインターフェイスを自身にセット
	}
	
	public void mouseDragged(MouseEvent e){//指定コンポーネントの上で、マウスのボタンを押してドラッグすると呼び出されます。 
		Point p = e.getPoint();//ドラックした所の座標取得
		System.out.println(p.x + "," + p.y );//この行はデバック用で、完成後は削除

		Graphics g = this.getGraphics();//描画ツール取得
		
		
		
		
	}

	//ボタンを押さずに、マウスを指定コンポーネントで移動すると呼び出されます。 
	public void mouseMoved(MouseEvent e) {
	}
}
線描画 方形塗りつぶし描画 楕円描画 文字列描画 外部画像ファイル描画 メモリイメージの描画


マウスボタンを押した時の描画を追加

上記で実験すると分かりますが、ドラックを開始する位置(クリック位置)の描画ができていないでしょう。
それには MouseListenerのインターフェイスを実装して、 そこでも描画処理を行う必要があるのです。
以下は、MouseListenerインターフェイスの実装をしたコードです。

location.href = "#posApplet";