2010-11-21 14 views
2

Je dessine sur un JPanel en utilisant getGraphics et les commandes drawLine et fillOval mais il est très capricieux lors de l'exécution du programme. Cependant, quand je le débogue, il dessine à chaque fois.Les images dessinées ne restent pas à l'écran

draw.drawPoints(drawing.getGraphics(), xCoord, yCoord); 

Appels:

public void drawPoints (Graphics g, int x, int y){ 
    g.setColor(Color.red); 
    g.fillOval(x, y, 5, 5); 
} 

modifier: Il draw coutume de toujours. La plupart du temps est vide.

+1

Que voulez-vous dire par 'capricieuse'? Exactement ce qui se passe? –

Répondre

3

Je dessine sur un JPanel en utilisant getGraphics

Vous ne devriez pas tirer des choses sur le JPanel en obtenant un objet Graphics de drawing.getGraphics(). Au lieu de cela, vous devez remplacer la méthode paintComponent(Graphics g) et y faire votre peinture.

Un exemple simple pour vous aider à démarrer:

container.add(new JPanel() { 
    public void paintComponent(Graphics g) { 
     drawPoints(g, xCoord, yCoord); 
    } 
}); 
0

Vous devez le faire chaque fois que l'objet est repeint.