我正在尝试制作PacMan游戏克隆。我知道对于自定义绘画,我应该覆盖paint()
或paintComponent()
方法。但我想自己控制所有的绘画,所以我不希望AWT repaint()
调用paint()
,为此,我为框架和{{1}设置了IgnoreRepaint()
}。获取JPanel
的{{1}}的调用会返回图形对象,但它不会显示任何结果只是白色背景。
主要课程是这样的:
JPanel
.... graphicsContext
类扩展public static void main(String[] args){
JFrame frame=new JFrame("PacMan...");
Board board=new Board();
frame.getContentPane().add(board,BorderLayout.NORTH);
frame.pack();
frame.setVisible(true);
frame.setIgnoreRepaint(true);
board.init();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
Board
我要使用,类就是这样。 JPanel
读取迷宫地图并将值分配给graphicsContext
readMaze()
我只是一个初学者,所以请忽略我糟糕的编码风格。感谢。