hi,
kurze frage (wahrscheinlich irgend nen sau blöder fehler^^). ich dachte immer repaint ruft paintComponent automatisch auf. ist dem nicht so?
mein code:
warum wird paintComponent nicht aufgerufen? hab ich was übersehen?
danke schonmal
kurze frage (wahrscheinlich irgend nen sau blöder fehler^^). ich dachte immer repaint ruft paintComponent automatisch auf. ist dem nicht so?
mein code:
Java:
package de.sack.main;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ForestPanel extends JPanel implements Runnable {
private static final long serialVersionUID = 1L;
private int width, height;
Drop d;
JFrame f;
Thread t;
public ForestPanel(int w, int h){
f = new JFrame();
setPreferredSize(new Dimension(w,h));
d = new Drop(this);
f.add(this);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
t = new Thread(this);
t.start();
}
@Override
public void paintComponent(Graphics g){
System.out.println("Repainted");
super.paintComponent(g);
d.draw(g);
}
public int getWidth() {
return width;
}
public int getHeight() {
return height;
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true){
System.out.println("Thread runs");
repaint();
try {
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args){
new ForestPanel(800, 200);
}
}
warum wird paintComponent nicht aufgerufen? hab ich was übersehen?
danke schonmal
Zuletzt bearbeitet von einem Moderator: