Java JPanel ile yapılmış fareye göre büyüyen top

Açıklama;

Java'da yapılmış Frame (çerceve) içindeki fareye göre yarıçapıyı büyüyüp veya küçülen daire uygulaması.

 

Kod;

package aaaa;

import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

import javax.swing.*;

public class fareyeGoreBuyuyenTop extends JFrame{

public static void main(String[]args){
	JFrame form = new fareyeGoreBuyuyenTop();
	form.add(new panel());
	form.setSize(520, 540);
	form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	form.setVisible(true);
}

}

class panel extends JPanel implements MouseMotionListener{

int orta,cap;
public panel(){
	setSize(500,500);
	addMouseMotionListener(this);
	cap=500;
	orta=getWidth()/2;
			
}



@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
	g.drawOval(orta-(cap/2), orta-(cap/2), cap, cap);
	
}


@Override
public void mouseDragged(MouseEvent e) {
	// TODO Auto-generated method stub
	
}

@Override
public void mouseMoved(MouseEvent e) {
	int uzaklik =(int) Math.sqrt(((e.getX()-orta)*(e.getX()-orta)+((e.getY()-orta)*(e.getY()-orta))));
	System.out.println(uzaklik);
	if(!((2*uzaklik)>500) &&!((2*uzaklik)<30) ){
	cap = 2*uzaklik;
	}
	repaint();
	
}

}

 

Ekran Görüntüsü; 

 

 

Yorumlar

Bu gönderi için yorum yapılmadı.