Salut,
J'ai modifié un petit truc qui correspond (à peu prés) à ce que tu veux:
import java.awt.*;
import javax.swing.*;
import java.util.*;
public class DessinDansPanel extends JPanel
{
public static void Fenetre()
{
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch (UnsupportedLookAndFeelException e)
{
System.out.println(e);
}
catch (ClassNotFoundException e)
{
System.out.println(e);
}
catch (InstantiationException e)
{
System.out.println(e);
}
catch (IllegalAccessException e)
{
System.out.println(e);
}
JFrame fenetre = new JFrame();
fenetre.setSize(400, 400);
fenetre.setTitle("Des cercles pleins dans les cases d'une grille.");
JPanel panneau = new DessinDansPanel();
panneau.setBackground(Color.green);
fenetre.add(panneau);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setVisible(true);
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
int larg = getWidth();
int haut = getHeight();
//g.setColor (Color.black); // black par défaut
// Pour dessiner une ligne:
//drawLine(int x1, int y1, int x2, int y2)
// Pour dessiner un cercle (un oval de diametre horizontal = diametre vertical)
/*g.setColor(Color.blue); // couleur de remplissage
g.fillOval(x, y, diametre_horizontal, diametre_vertical); // remplissage (fill)
g.setColor(Color.green); // couleur du panel pour que ce soit (un peu) plus net
g.drawOval(x, y, diametre_horizontal, diametre_vertical); // affichage, dessiner (draw) */
int dim = 20; //dimension d'une case de la grille
// La grille:
for(int i = 0; i < larg; i +=dim)
{
g.drawLine(i,0,i, haut); // Les lignes verticales de la grille
g.drawLine(0,i,larg, i); // Les lignes horizontales de la grille
System.out.println(i);
}
for(int j = 0; j < haut; j +=dim)
{
// Un cercle plein dans chaque case:
for(int i = 0; i < larg; i +=dim)
{
g.setColor(Color.blue); // couleur de remplissage
g.fillOval(i, j, 20, 20); // remplissage (fill)
g.setColor(Color.green); // couleur du panel
g.drawOval(i, j, 20, 20); // affichage, dessiner (draw)
g.setColor (Color.black);
}
}
}
public static void main (String [] arg)
{
Fenetre();
}
}
J'attend tes éventuelles questions.
Dan