Wie Objekte im JFrame frei bewegen lassen?

ds030

Mitglied
Guten Morgen Allerseits!

Ich schreibe an einem kleinen Spiel und versuche nun eine in einen JFrame geladene Abbildung (.png) sich random bewegen zu lassen.
Welche Möglichkeiten habe ich dafür? Vielleicht hat ja jemand eine Idee. Hier mein bisheriger Code.

Java:
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.IOException;

public class Gui extends JFrame implements MouseListener {

    static int screenwidth = 800, screenheight = 600;
    private Image icon;

    public Gui() throws IOException {

        icon= ImageIO.read(new File("covid1.png"));

        JFrame jf1 = new JFrame();
        setSize(screenwidth, screenheight);
        setTitle("VacsCovid");
        setBackground(Color.blue);
        setResizable(false);
        setVisible(true);
        System.out.println("Gui:");
        addMouseListener(this);
        setCursor(getToolkit().createCustomCursor(
                new ImageIcon( "spritze2.png" ).getImage(),
                new Point(20,20), "Cursor" ));


    }



    @Override
    public void paint(Graphics g) {

        g.setColor(Color.yellow);
        g.fillRect(0,0,screenwidth, screenheight);
        g.drawImage(icon, 100, 100, 80,80,this);

    }

    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println("x:" + e.getX() + " y:" +e.getY());
    }

    @Override
    public void mousePressed(MouseEvent e) {

    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }
}

Vielen Dank schonmal!
 
Zuletzt bearbeitet von einem Moderator:
Naja, die Virus-Symbole sollen letztlich per Mausklick (Cursor als Spritze dargestellt) zum Verschwinden gebracht werden.
Und wie konkret verwende ich den Timer? Bin eigentlich kompletter Einsteiger.
 

Zurück
Oben