próbuję rysować linie poziome i pionowe BufferedImage. Należy w końcu wygląda jak siatka komórek. Ale kiedy uruchomić kod, widzę tylko dwie linie: skrajną lewą linię i najwyższą linię (tj. Linia od 0,0 do 0, wysokość obrazu & 0,0 do szerokości obrazu, 0) Herezje fragment kodu :rysowania wielu linii 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);
}
a nadpisane metoda malowania:
public void paint(Graphics g) {
g.drawImage(mazeImage, 0, 0, this);
}
to wszystko w klasie o nazwie RobotMaze który rozciąga JPanel. Każda pomoc jest doceniana.
Ah Cholera ja! miał użyć każdej zmiennej wielkości komórek, a nie całych wymiarach ... przepraszam za lame facetów zapytania i dzięki za wskazanie na to. – Adith