📄 mazepanel.java
字号:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;
public class MazePanel extends JPanel {
private Maze maze;
public Image buffer;
public MazePanel(Maze m){
maze = m;
this.setSize(510, 510);
//buffer = createImage(500,500);
}
public void init(){
buffer = createImage(500,500);
}
public void paint(Graphics g){
super.paint(g);
g.drawImage(buffer,5,5,this);
Color color = g.getColor();
g.setColor(Color.BLACK);
for(int i = 0; i < 11; i++){
g.drawLine(i*50+5, 5, i*50+5, 505);
g.drawLine(5, i*50+5, 505, i*50+5);
}
g.setColor(Color.GRAY);
for(int x = 0; x < 10; x++){
for(int y=0; y < 10; y++){
if(maze.GetElement(x, y).iswall) g.fillRect(x*50+6, y*50+6, 49, 49);
}
}
g.setColor(color);
}
public void visit(int x, int y){
Graphics gt = buffer.getGraphics();
gt.setColor(Color.GREEN);
gt.fillOval(x*50+5, y*50+5, 40, 40);
repaint();
}
public void unvisit(int x, int y){
Graphics gt = buffer.getGraphics();
gt.setColor(Color.RED);
gt.fillOval(x*50+5, y*50+5, 40, 40);
repaint();
}
public void clear(){
Graphics gt = buffer.getGraphics();
gt.clearRect(0, 0, 500, 500);
repaint();
}
public void setMaze(Maze m){
maze = m;
clear();
repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -