Ich versuche, horizontale und vertikale Linien auf einem gepufferten Bild zu zeichnen. Es sollte am Ende wie ein Gitter aus Zellen aussehen. Aber wenn ich den Code ausführen, sehe ich nur zwei Zeilen: die linke und die oberste Zeile (dh eine Zeile von 0,0 bis 0, Höhe des Bildes & 0,0 bis Breite des Bildes, 0) Hier ist das Code-Snippet DieseMehrere Zeilen in einem BufferedImage zeichnen
public void paint(Graphics g) {
g.drawImage(mazeImage, 0, 0, this);
}
ist alles in einer Klasse namens RobotMaze die JPanel erweitert:
BufferedImage mazeImage = new BufferedImage(imgDim.width, imgDim.height, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = mazeImage.createGraphics();
g2d.setBackground(Color.WHITE);
g2d.fillRect(0, 0, imgDim.width, imgDim.height);
g2d.setColor(Color.BLACK);
BasicStroke bs = new BasicStroke(2);
g2d.setStroke(bs);
// draw the black vertical and horizontal lines
for(int i=0;i<21;i++){
g2d.drawLine((imgDim.width+2)*i, 0, (imgDim.width+2)*i, imgDim.height-1);
g2d.drawLine(0, (imgDim.height+2)*i, imgDim.width-1, (imgDim.height+2)*i);
}
Und die überschriebene Methode paint. Jede Hilfe wird geschätzt.
Ah Dammit I! sollte die Größe jeder Zellenvariablen anstelle der gesamten Dimensionen verwenden ... Sorry für die lahme Frage Jungs und Danke für das Aufzeigen. – Adith