Hallo,
in meinem AWT/Swing-Programm soll beim Start ein Kreis sein. Wenn man mit dem Mauszeiger sich dem Kreis bis auf wenige Pixel nähert, soll der Kreis an eine zufällig generierte Stelle springen.
Ich habe schonmal folgenden Code geschrieben, aber leider weiß ich jetzt nicht wie ich das alles weiterführen kann:
in meinem AWT/Swing-Programm soll beim Start ein Kreis sein. Wenn man mit dem Mauszeiger sich dem Kreis bis auf wenige Pixel nähert, soll der Kreis an eine zufällig generierte Stelle springen.
Ich habe schonmal folgenden Code geschrieben, aber leider weiß ich jetzt nicht wie ich das alles weiterführen kann:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
// Klasse MausPunktFarbe
class Kreis2 extends JFrame {
// Konstruktor
public Kreis2()
{
// setzt Fenstertitel
super("Kreis2");
// Hintergrundfarbe
setBackground(Color.white);
// Groesse Panel
setSize(new Dimension(300, 300));
// Fenstergroesse nicht veraenderbar
setResizable(false);
// Reaktion auf Programm beenden
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Instanz von Panel
Panel malen = new Panel();
// Panel ins Zentrum setzen
add(malen, BorderLayout.CENTER);
// den Frame anzeigen
setVisible(true);
}
public static void main(String[] args) {
// erzeuge eine neue Instanz des MausPunktFarbe-JFrames
new Kreis2();
}
}// Ende Klasse;
// Klasse Panel
class Panel extends JPanel implements MouseListener {
private int z_x;
private int z_y;
// Konstruktor
public Panel()
{
// MouseListener hinzufuegen
addMouseListener(this);
}
public void paint(Graphics g) {
setBackground(Color.white);
// Kreis zeichnen
//g.setColor(Color.black);
//g.fillOval(60,60,20,20);
// Zufallsstelle
z_x = (int) (Math.random()*30);
z_y = (int) (Math.random()*30);
g.fillOval(z_x,z_y,20,20);
}
// Maus-Klick-Event
public void mouseEntered(MouseEvent me)
{
int mx = me.getX();
int my = me.getY();
// Maustaste links
if (z_x == MouseEvent.BUTTON1 && z_y == MouseEvent.BUTTON1) {
//repaint();
System.out.println("Hallo");
}
}
// Dummies
public void mousePressed(MouseEvent me) {}
public void mouseReleased(MouseEvent me) {}
public void mouseClicked(MouseEvent me) {}
public void mouseExited(MouseEvent me) {}
}//Ende Klasse;