Hallo,
ich beschäftige mich seit 3 Tagen mit Java und habe vorher noch nie großartig programmiert. Ich habe mir folgende Aufgabe gestellt: Ich möchte in einem Fenster Kreise generieren an der Stelle, wo ich mit der Maus hinklicke. Es sollen aber alle Kreise erhalten bleiben. Leider verschwindet aber immer der letzte Kreis, sodass nur der aktuelle Klick angezeigt wird. Außerdem funktioniert am Anfang erst der zweite Klick.
Goolge und die Forensuche habe ich bereits bemüht, war aber leider nicht in der Lage, die Lösungsansätze für mich zu übertragen.
Hier mein Code:
Für Anregungen wäre ich äußerst dankbar!
seb
ich beschäftige mich seit 3 Tagen mit Java und habe vorher noch nie großartig programmiert. Ich habe mir folgende Aufgabe gestellt: Ich möchte in einem Fenster Kreise generieren an der Stelle, wo ich mit der Maus hinklicke. Es sollen aber alle Kreise erhalten bleiben. Leider verschwindet aber immer der letzte Kreis, sodass nur der aktuelle Klick angezeigt wird. Außerdem funktioniert am Anfang erst der zweite Klick.
Goolge und die Forensuche habe ich bereits bemüht, war aber leider nicht in der Lage, die Lösungsansätze für mich zu übertragen.
Hier mein Code:
Java:
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
public class Main extends JFrame
{
public static void main(String[] args)
{
new Zeichenfeld();
}
}
class Zeichenfeld extends JFrame implements MouseListener
{
//private int x = 5;
//private int y = 5;
public Zeichenfeld()
{
setTitle("Zeichenfeld");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocation(50,50);
setSize(Toolkit.getDefaultToolkit().getScreenSize().width-100,Toolkit.getDefaultToolkit().getScreenSize().height-100);
setVisible(true);
addMouseListener(this);
}
public void zeichnen(Graphics g, int x1, int y1)
{
int radius=100;
paintComponents(g);
g.setColor(new Color(0, 0, 0));
g.drawOval(x1-(radius/2), y1-(radius/2), radius, radius);
}
public void mousePressed(MouseEvent e)
{
int x = e.getX();
int y = e.getY();
zeichnen(getGraphics(),x,y);
}
public void mouseMoved(MouseEvent e){}
public void mouseDragged(MouseEvent e){}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
Für Anregungen wäre ich äußerst dankbar!
seb