Tôi đang cố gắng vẽ các đường ngang và dọc trên một vùng đệm. Nó sẽ kết thúc trông giống như một mạng lưới các tế bào. Nhưng khi tôi chạy mã, tôi chỉ thấy hai dòng: dòng ngoài cùng bên trái và dòng trên cùng (ví dụ: một dòng từ 0,0 đến 0, chiều cao của hình ảnh & 0,0 đến chiều rộng của hình ảnh, 0) Heres đoạn mã :Vẽ nhiều đường kẻ trong một BufferedImage
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);
}
Và phương pháp sơn overriden:
public void paint(Graphics g) {
g.drawImage(mazeImage, 0, 0, this);
}
Đây là tất cả trong một lớp được gọi là RobotMaze kéo dài JPanel. Bất kỳ trợ giúp được đánh giá cao.
Ah Chết tiệt tôi! được cho là sử dụng kích thước của mỗi biến tế bào thay vì toàn bộ kích thước ... Xin lỗi vì những kẻ hỏi lame và cảm ơn vì đã chỉ ra điều này. – Adith