Java 尝试绘制多边形时出现NullPointerException

Java 尝试绘制多边形时出现NullPointerException,java,Java,当我试图绘制多边形时,我得到一个NullPointerException。 这就是我试图做到的: Roi roi = imp.getRoi(); Polygon p = roi.getPolygon(); Graphics g=null; g.drawPolygon(p.xpoints, p.ypoints, p.npoints); 请建议我如何修复此问题。您使用的图形对象不正确。这应该在JComponent的paintComponent(…)方法中完成,并且应该使用JVM传入的图形对象。或者

当我试图绘制多边形时,我得到一个
NullPointerException
。 这就是我试图做到的:

Roi roi = imp.getRoi();
Polygon p = roi.getPolygon();
Graphics g=null;
g.drawPolygon(p.xpoints, p.ypoints, p.npoints);

请建议我如何修复此问题。

您使用的图形对象不正确。这应该在JComponent的
paintComponent(…)
方法中完成,并且应该使用JVM传入的图形对象。或者使用通过
createGraphics()
从中获取的Graphics2D对象在BuffereImage中绘制该对象

关于你的编辑:yikes

这保证每次都会抛出一个NPE

Bar bar = null
bar.someMethod(); 

图形g=空;如果您在g上调用方法,则会导致NPE。您应该看看有关java绘图的教程。关键的一点是如何调用您的代码并为其提供一个图形实例。对于g=null,仍然是一样的。我建议您学习使用调试器。从长远来看,你会为自己节省很多时间。阿门,听教程的建议。你不能猜测这些东西,希望它能起作用。你能给我一些关于这方面的指导吗?please@user1620554:该标准有一个摆动部分,实际上还有一个关于执行自定义绘制的特定部分。public void paint(图形g){Graphics2D g2=(Graphics2D)g;…}我试过了,但我不知道如何在我的main@user1620554:此评论仅表明您在猜测,并且您尚未阅读教程。请停止猜测,阅读本教程。这将解释一切。