发布网友 发布时间:2024-10-24 09:38
共1个回答
热心网友 时间:2024-11-02 08:03
先来看一下官方文档关于getGraphics方法的说明:
public Graphics getGraphics()
Creates a graphics context for this component. This method will return null if this component is currently not displayable.
Overrides:
getGraphics in class Component
Returns:
a graphics context for this component, or null if it has none
注意最后一句,返回值有可能是null
jpanel、jframe等各种对象的默认构造器是不会为其增加一个Graphics对象的,也就是说,默认情况下,getGraphics返回的就是null,空指针就是必然了。
要避免这个错误,有两种方法,一种是构造jpanel时,使用带有默认Graphics的构造器,第二种就是为其分配一个