java - 如何在Java(JFrame)中绘制一个简单的类对象?

标签 java swing draw

我对 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/

相关文章:

java - 访问封闭类或父类的方法的一般方法

java - JTable - 在列末尾点击返回后不应移动到下一列

android - 在 Canvas 上绘制透明文本

wpf - 与几何图形一起绘制文本的最佳方法是什么?

java - 在 Swing JPanel 中在边框后面绘制图像

java - 集群中并发java套接字连接的最大数量是多少?

java - 格式化 Java 字符串

java - IDE 没有正确的类路径

java - 获取在 Jpanel 上绘制的 Path2D 形状的(起始)X 和 Y 坐标

java JFrame setContentPanel 然后 JPanel 消失