Bir arabellek görüntüsünde yatay ve dikey çizgiler çizmeye çalışıyorum. Hücre ızgarasına benzemeli. Ancak kodu çalıştırdığımda sadece iki satır görüyorum: en soldaki satır ve en üstteki satır (yani 0,0 - 0 arası bir çizgi, görüntünün yüksekliği & 0,0 - görüntünün genişliği, 0) Kod snippet'i :Bir BufferedImage öğesinde birden fazla çizgi çizmek
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);
}
Ve overriden boya yöntemi:
public void paint(Graphics g) {
g.drawImage(mazeImage, 0, 0, this);
}
Bu, tüm Jpanel uzanır RobotMaze adında bir sınıftadır. Herhangi bir yardım takdir edilir.
Ah Kahretsin ben! tüm boyutlar yerine tüm hücre değişkenlerinin boyutunu kullanması gerekiyordu ... Topal soruları için özür dilerim ve bunu işaret ettiğin için teşekkürler. – Adith