gpt4 book ai didi

java - 在自定义 JPanel 中使用 Graphics2D 出现 NullPointerException

转载 作者:行者123 更新时间:2023-12-02 08:34:13 25 4
gpt4 key购买 nike

我正在扩展 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

来 self 调用 setRenderingHints 方法的行。任何帮助表示赞赏。

最佳答案

当你调用Graphics g = this.getGraphics();时,就会出现null,正如Paul所说,你不应该在构造函数中调用它,因为面板还不存在。最好将此代码放在重写的 paintComponent() 方法中

关于java - 在自定义 JPanel 中使用 Graphics2D 出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2418468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com