java zeichnen Sie einen Kreis, wenn die Maus geklickt

ich Schreibe ein Programm, dass, wenn die Maus geklickt wird, wird ein Kreis gezeichnet werden soll. Den folgenden code habe ich bisher schrieb.

import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.event.*;
import java.awt.geom.*;

public class test extends JFrame implements ActionListener, MouseListener {
    Shape circle = new Ellipse2D.Float(10, 10, 10, 10);

    public test () {
        setSize(250,150);
        addMouseListener(this);
    }

    public static void main(String[] args) {
        //TODO code application logic here
        java.awt.EventQueue.invokeLater(new Runnable() {
              public void run() {
                   test frame = new test();
                   frame.setVisible(true);
              }
        });
    }

    public void actionPerformed(ActionEvent ae) {

    }

    public void drawCircle(int x, int y) {
        Graphics g = this.getGraphics();
        g.drawOval(x, y, x, y);
        g.setColor(Color.BLACK);
        g.fillOval(x, y, 2, 2);
    }

    public void mouseClicked(MouseEvent e) {
        drawCircle(e.getX(), e.getY());
        repaint();
    }

    public void mouseExited(MouseEvent e) {

    }

    public void mousePressed(MouseEvent e) {

    }

    public void mouseReleased(MouseEvent e) {

    }

    public void mouseEntered(MouseEvent e) {

    }
}

Der code ist ein 400X400 jframe, wenn geklickt haben, öffnen Sie einen Kreis auf eine halbe Sekunden, Das problem ist, dass, wenn ich die Maustaste loslassen, wird der Kreis verschwinden. warum?

wie kommt diese getGraphics Chaos breitet sich rund um eine Lehrerin, die wild gegangen?

InformationsquelleAutor hkguile | 2011-11-09

Schreibe einen Kommentar