Citation:
]BufferedImage imageTampon = new BufferedImage(75,100, BufferedImage.TYPE_INT_RGB);
Graphics2D gg = imageTampon.createGraphics();
gg.setColor(//une couleur);
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f ));//effet de transparence nulle ici, des valeurs <1 donnent de la transparence.
gg.fillRect(0,0,75,100);//le fond d'écran
gg.setColor(//Tacouleur2, ou la même avec .darker() par exemple);
gg.drawLine(0, 0, 0, 100);//le dessin avec des droites
gg.drawLine(7, 10, 7, 89);
gg.drawLine(14,5,14,50);
gg.drawLine(21,15,21,30);
gg.drawOval(24,40,5,20);//avec des ovales, et autres formes géométriques
gg.drawOval(24,39,5,22);
gg.drawOval(24,38,5,24);
g2d.setPaint(new TexturePaint(imageTampon, new Rectangle (75,100))); //Dessine le BufferImage
g2d.fill(new Rectangle2D.Double(//Coordonnées et largeur de l'échiquier final); //Trace ton échiquier
En gros, ton buffer Image crée le motif de vagues (Graphics2D est assez puissant, tu peux travailler, avec des effets de dégradé, de pointillés, de transparence et autres par exemple), + le motif du bord des cases tant que tu y es. Tu remplis ton rectangle "Panneau de jeu" avec ce motif et le tour est joué.