Peinture de fond de Composite

Comment puis-je savoir la méthode de peinture pour dessiner arrière-plan sur un Composite uniquement, et non sur l'ensemble de la JFrame.
Ma JFrame taille est plus grande que le Composite. Lorsque je tente de peindre une grille d'arrière-plan pour le Composite, la grille semble être peint partout dans la JFrame au lieu de simplement le Composite.

Ici des parties de code:

public class Drawing extends JFrame {
  JPanel drawingPanel;
  ...........
  public Drawing (){
    drawingPanel = new JPanel();
    drawingPanel.setPreferredSize(new Dimension(600,600));
  }


public void paint(Graphics g) 
{
  super.paintComponents(g);
  Graphics2D g2 = (Graphics2D) g;
  g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

  paintBackground(g2); //call a METHOD to paint the for JPANEL
}


private void paintBackground(Graphics2D g2)
{
  g2.setPaint(Color.GRAY);
  for (int i = 0; i < drawingPanel.getSize().width; i += 300) 
  {
     Shape line = new Line2D.Float(i, 0, i, drawingPanel.getSize().height);
     g2.draw(line);
  }

  for (int i = 0; i < drawingPanel.getSize().height; i += 300) 
  {
    Shape line = new Line2D.Float(0, i, drawingPanel.getSize().width, i);
    g2.draw(line);
  }      
} //END private void paintBackground(Graphics2D g2)

}
Je vous ai donné la bonne réponse, mais vous ne l'acceptez pas. Bon à savoir pour l'avenir.

OriginalL'auteur Jessy | 2010-01-01