我是java图形的新手,我很困惑为什么我的setSolor会抛出一个nullpointer。尝试做这样简单的事情:
public void drawEllipse(int x, int y, Color color){
Graphics g = null;
Graphics2D g2 = (Graphics2D) g;
g2.setColor(color);
Ellipse2D.Double ellipse = new Ellipse2D.Double(x, y,1,1);
g2.draw(ellipse);
}
答案 0 :(得分:2)
问题是您使用g
初始化null
,因此g2
也null
导致异常
编辑:
如果你想用AWT画一些东西,你应该覆盖paint
方法。在那里你将获得一个图形对象。或者你在容器上调用getGraphics
,它也会为你提供一个图形对象。
但我认为第一个变体是一般使用的