[英]java.lang.NullPointerException when drawOval in JPanel
我正在尝试在程序中画线,并且不断出现此错误。.我正在做以下事情:我有一个带BoxLayout(在Y_AXIS中)的JFrame,在这个框架内,我有6个JPanel,一个在另一个下面。 在前两个面板中,我有一些JLabel和JTextFields,我想在第三个JPanel中画线,我这样做:
public void Dibujar(int vidas){ Graphics graf = panel3.getGraphics(); if(vidas == 6){ graf.drawOval(10, 10, 30, 30); } else{ graf.drawOval(10, 10, 60, 60); } }
但是这样做却得到了NullPointerException,而不是我尝试使用它可以工作的方法paintComponent,但是它绘制在所有Jpanel的下方,而不是Jpanel3的下方。
如果您需要解释其他事情,请告诉我。 提前非常感谢您。
在您的Panel3部分中调用此方法。 您要paint
特定的component
。
@Override
class PaintExtension extends JComponent
{
public void paintComponent(Graphics g)
{
int vidas = GetVidas(); //Make a method to get the vidas
super.paintComponent(g);
if(vidas == 6)
{
g.drawOval(10, 10, 30, 30);
}
else
{
g.drawOval(10, 10, 60, 60);
}
}
}
在GUI中:
panel3.add(new PaintExtension());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.