我对 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 等类,但我不太确定这对我有帮助。
感谢您的帮助
最佳答案
如何使用标准库绘制矩形的简单示例:
public class SomeClass extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.GREEN);
g.fillRect(0,0,320,220);
}
SomeClass() {
JFrame frame = new JFrame();
frame.serContentPane(this);
frame.setBounds(0,0,320,220);
frame.setVisible(true);
}
}
具有主要方法的类:
public class Main {
public static void main(String[] args) {
new SomeClass();
}
}
关于java - 如何在Java(JFrame)中绘制一个简单的类对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58582173/