14. december 2004 - 16:53
#1
Her er et lille program der gør det:
package example;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Shape;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Ellipse2D.Double;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* @author Snoop_one
*/
public class Test2dEllipse extends JFrame {
private JPanel panel;
private Ellipse2D ellipse;
public static void main(String[] args) {
new Test2dEllipse().setVisible(true);
}
private Test2dEllipse() {
super("Click inside ellipse");
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if(ellipse.contains(e.getX(),e.getY())){
System.out.println("Inside Ellipse - you clicked");
} else{
System.out.println("Outside Ellipse - you clicked");
}
}
});
pack();
setSize(200,200);
ellipse = new Ellipse2D.Double(30,50,50,40);
}
public void paint(Graphics g) {
g.setColor(Color.red);
g.drawOval((int)ellipse.getX(), (int)ellipse.getY(), (int)ellipse.getWidth(), (int)ellipse.getHeight());
}
}
16. december 2004 - 09:56
#3
Hej Snoop
Tak for dit svar.. Jeg har desværre allerede fundet en løsning, men du skal sgu have point for dit fede svar alligevel!
M;ads