色々な曲線を描いてみる

色々な曲線を描いてみる その3

 ボタンの位置が悪くて曲線が見づらいなと感じたので、ちょっとした変更ですけど、ボタンの位置を変更できるようにしたいと思います。
フレームのどこでクリックして動かそうとしているのかは、GFrameのなかのマウスアクションを追加しています。
今までは、マススクリックだけでしたが、マウスプレス、ドラッグ、リリースを追加して、移動させようとしている位置を検出しています。


	private void jScrollPane1_mousePressed(MouseEvent e) {
		this_mousex = e.getX();		
		this_mousey = e.getY();		
		crx0=((Viewp.getp_x( )+e.getX()));
		cry0=((Viewp.getp_y( )+e.getY()));
		flgBttnMove=DGr.getCrick_Pos(crx0,cry0);
	}

 マウスプレスで、クリックした位置が、選択ボタンの上かどうかを、DrawGraphiのgetCrick_Posで判定しています。rect[]は、ボタンの位置のxy座標です。
ボタンの上でクリックしていたら、次はドラッグでボタンの移動処理です。  

 


	private void jScrollPane1_mouseDragged(MouseEvent e) {
		if( this_mousex != -1 ) { 
			if(flgBttnMove){
				DGr.moveBtn(e.getX()-this_mousex, e.getY()-this_mousey);
			}
		}
		this_mousex = e.getX();
		this_mousey = e.getY();
	}

	private void jScrollPane1_mouseReleased(MouseEvent e) {
		flgBttnMove=false;

	}
 

 マウスドラッグしている間、マウスの位置をDrawGraphiに教えています。
DrawGraphiでは、新しいボタンの位置xyを加工してrect[]にセットしています。
これで次のリペイント処理で、新しい位置にボタンが表示されます。
マウスリリースは、移動処理の終わりのフラグをセットしているだけです。  



実行すると、右図のようになります。
ボタンの位置が変更できたでしょうか







今回のプログラムで、変更したファイルを添付しておきましょう。