hola, paso por aki si me pueden ayudar con un programa hecho en JFrame q ya esta casi listo pero tngo algunos problemas...el programa trata sobre simular como el movimiento del ojo, yo tengo un JPanel a ese panel yo le pinto adentro un circulo, asi dl mismo tamaño q ese panel, y dentro de este circulo coloco otra pelotica en un Canvas, y sta pelotica se debe mover dentro del circulo sin salir de ese mientras yo la arrastro con el mouse, ahora yo stoy confudida sobre q limites o q coordenadas pueda darle para q no se me salga, yo lo hice pero la pelotica se me sale en los extremos de ese circulo....q puedo hacer
espero q me puedan ayudar, aki les dejo mi programa para q vean q puedo hacer...
public class lienzo extends JPanel implements MouseListener,MouseMotionListener{
private pelota circulo;
private int x1=0,y1=0;
public lienzo(){
this.setLayout(null);
this.setBackground(Color.black);
repaint();
circulo=new pelota();
circulo.setBounds(120,100,60,60);
add(circulo);
addMouseListener(this);
addMouseMotionListener(this);
}
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.white);
g.fillOval(10,10,270,270);
}
public void mouseEntered(MouseEvent e){
}
public void mouseExited(MouseEvent e){
}
public void mousePressed(MouseEvent e){
}
public void mouseMoved(MouseEvent e){
}
public void mouseDragged(MouseEvent e){
x1=e.getX();
y1=e.getY();
if(x1>20 && x1 <200 && y1>20 && y1<200){
circulo.setLocation(x1,y1);
}
}
public void mouseReleased(MouseEvent e){
}
public void mouseClicked(MouseEvent e){
}
}
public class pelota extends Canvas{
pelota(){
repaint();
this.setBackground(Color.white);
setVisible(true);
}
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.ORANGE);
g.fillOval(0,0,60,60);
g.setColor(Color.black);
g.fillOval(25,0,12,60);
}
}