我正在扩展JPanel以制作自定义绘图面板,但是却收到了NullPointerException,无法弄清原因。我已经删除了代码,直到它几乎完全裸露为止,但是错误仍在发生。
package testdraw;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JPanel;
public class DrawPanel extends JPanel {
public DrawPanel() {
this.Draw();
}
public void Draw(){
Graphics g = this.getGraphics();
Graphics2D g2d = (Graphics2D) g;
RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
rh.put(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_SPEED);
g2d.setRenderingHints(rh);
}
}
我收到错误消息:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
从我调用
setRenderingHints
方法的那一行开始。任何帮助表示赞赏。 最佳答案
您正在构造函数中调用“绘图”。在调用getGraphics之前,应等待其完全构建并可见。