Witam. Dlaczego metoda paintComponent zostaje 2 razy wykonana gry włączam program?
package Main;
import java.awt.Dimension;
import javax.swing.JFrame;
public class Window {
public static void main(String[] args) {
new Window();
}
public Window() {
JFrame frame = new JFrame("image");
frame.setPreferredSize(new Dimension(300, 300));
frame.pack();
frame.setVisible(true);
Canvas test = new Canvas();
frame.add(test);
} }
package Main;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JComponent;
public class Canvas extends JComponent{
@Override
protected void paintComponent(Graphics g) {
// TODO Auto-generated method stub
super.paintComponent(g);
g.setColor(Color.black);
g.drawLine(10, 20, 30, 40);
System.out.println("test");
}
}
Konsola oczywiście wyrzuca dwukrotnie "test" zamiast raz.