Comment puis-je indiquer à la méthode de peinture de dessiner un arrière-plan sur JPanel uniquement et non sur l'intégralité de JFrame. Ma taille de JFrame est plus grande que celle de JPanel. Lorsque j'essaie de peindre un fond de grille pour le JPanel, la grille semble être peinte sur tout le JFrame au lieu du JPanel.Peindre l'arrière-plan de JPanel
Voici les parties du 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 le futur. – camickr