【发布时间】:2019-10-27 18:31:10
【问题描述】:
我是 Java 应用程序开发的新手,我想在 JFrame-canvas 中绘制一些简单的形状,而不使用一个主类,而是将其拆分为一个主类和一个 playerRectangle 类。在 playerRectangle 类中我创建了一个方法paint:
public void paint(Graphics g) {
setSize(500, 500);
g.drawRect(320, 20, 640, 120);
}
然后我在主类的某个渲染函数中创建了一个对象,并调用了这个对象的绘制函数。
playerRectangle p1 = new playerRectangle();
p1.paint(null);
但不知何故,它抛出了 java.lang.NullPointerException 错误并且没有将矩形呈现到屏幕上。当我不将此函数拆分为两个类时,即使它抛出此错误,它也能正常工作。所以请帮助我并告诉我,我在这里缺少什么。
对 Youtube 和其他东西的任何研究都只告诉我,我必须创建像 screen 之类的类,但我不太确定这对我有帮助。
感谢您的帮助
【问题讨论】:
-
显示你的window类和playerRectangle类,在一个类中怎么画矩形?
-
我是 Java 应用程序开发的新手 您是否考虑过使用 JavaFX 而不是 Swing? JavaFX 应该是 Swing 的更现代的替代品。既然您声称刚刚起步,为什么不使用最新的 API?
-
Swing 大约有二十 (20) 岁。您需要尝试确保您没有在 Internet 上查看过时和过时的教程。 (假设您想坚持使用 Swing 而不是使用 JavaFX)