Hallo,
ich wollte ein JFrame zeichnen, was ein bewegenden Punkt zeigt. Dieser Punkt soll nach einer bestimmten Koordinate die Farbe ändern. Leider weiß ich nicht, wie man von einer anderen Methode auf die paint-Methode zugreift bzw. ob die überhaupt möglich ist.
Danke für eure Hilfe
Hier der Code
ich wollte ein JFrame zeichnen, was ein bewegenden Punkt zeigt. Dieser Punkt soll nach einer bestimmten Koordinate die Farbe ändern. Leider weiß ich nicht, wie man von einer anderen Methode auf die paint-Methode zugreift bzw. ob die überhaupt möglich ist.
Danke für eure Hilfe
Hier der Code
Java:
package gui;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Punkte_Test extends JPanel{
private JFrame f;
static int x = 10;
static int y = 10;
public Punkte_Test() {
f = new JFrame("Bewegung");
f.setSize(500,500);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(this);
f.setBackground(Color.white);
f.setVisible(true);
Funtion();
}
private void Funtion() {
try {
while(x < 300){
x = x + 5;
if(x > 20){
g.setColor(Color.red); // <-- Hier liegt das Problem
f.repaint();
}else{
f.repaint();
}
Thread.sleep(500);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void paint(Graphics g){
g.setColor(Color.blue);
g.drawLine(x+5,y,x,y);
}
public static void main(String[] args) {
new Punkte_Test();
}
}