Java AWT/Swing Graphics-为什么getGraphics()不能作为字段(实例变量)?
为什么在将getGraphics()作为不同的MouseListener方法(mousedragged、MouseRelease等)使用的实例变量时,会出现NullPointerException,但在这些方法中将getGraphics()保存为局部变量时,它就可以正常工作 为什么将getGraphics()作为实例变量时会出现NullPointerException 可能是因为调用getGraphics()方法时图形对象尚未初始化,因为帧尚未可见 在任何情况下,您都不应该使用getGraphics()方法来获取图形对象,因为您所做的任何绘制都只是临时的,并且在Swing下次确定需要重新绘制组件时将丢失Java AWT/Swing Graphics-为什么getGraphics()不能作为字段(实例变量)?,java,swing,graphics,awt,Java,Swing,Graphics,Awt,为什么在将getGraphics()作为不同的MouseListener方法(mousedragged、MouseRelease等)使用的实例变量时,会出现NullPointerException,但在这些方法中将getGraphics()保存为局部变量时,它就可以正常工作 为什么将getGraphics()作为实例变量时会出现NullPointerException 可能是因为调用getGraphics()方法时图形对象尚未初始化,因为帧尚未可见 在任何情况下,您都不应该使用getGraphi
自定义绘制应该在JPanel(或JComponent)的
paintComponent()方法中完成。有关更多信息和示例,请阅读上Swing教程中的部分。始终仅使用图形传入的对象paintComponent()
方法。