Farbe hintergrund von JPanel

Wie kann ich die paint-Methode zum zeichnen von hintergrund auf JPanel und nicht nur auf den gesamten JFrame.
Meine JFrame-Größe ist größer als die JPanel. Wenn ich versuche zu malen, ein raster hintergrund für das JPanel, das raster scheint lackiert zu werden alle über das JFrame anstatt nur das JPanel.

Hier Teile des Codes:

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)

}
Ich gab Ihnen die richtige Antwort, aber Sie akzeptieren es nicht. Gut zu wissen für die Zukunft.

InformationsquelleAutor Jessy | 2010-01-01

Schreibe einen Kommentar