Java 油漆不起作用

Java 油漆不起作用,java,swing,jframe,paint,repaint,Java,Swing,Jframe,Paint,Repaint,为什么这不起作用?它向我展示了图形用户界面,而不是绘画。我该如何将其分为两类 import java.awt.Graphics; import javax.swing.JFrame; public class runpaintgui extends JFrame{ public static void main(String[] args){ JFrame frame = new JFrame(); frame.setSize(5000,200

为什么这不起作用?它向我展示了图形用户界面,而不是绘画。我该如何将其分为两类

import java.awt.Graphics;
import javax.swing.JFrame;

public class runpaintgui extends JFrame{    

    public static void main(String[] args){
        JFrame frame = new JFrame();
        frame.setSize(5000,2000);
        frame.setResizable(false);
        frame.setTitle("game");
        frame.setVisible(true);    
    }

    public void paint(Graphics g){
        super.paint(g);
        g.drawString("adsf",40,45);
        g.draw3DRect(50, 30, 600, 700, true);   

        repaint();
    }    
}

您正在此行中创建一个通用的
JFrame

JFrame frame = new JFrame();
您可能想做的是:

JFrame frame = new runpaintgui();

然后将调用您的
paint()
方法。

您正在此行中创建一个通用
JFrame

JFrame frame = new JFrame();
您可能想做的是:

JFrame frame = new runpaintgui();

然后将调用
paint()
方法。

必须实例化类,而不是
JFrame

更改:

JFrame frame = new JFrame();

然后将调用您的
paint()
方法


不要在
paint
中调用
repaint()
。因为
repaint()
调用
paint

您必须实例化您的类,而不是
JFrame

更改:

JFrame frame = new JFrame();

然后将调用您的
paint()
方法


不要在
paint
中调用
repaint()
。因为
repaint()
调用了
paint

你说的“我如何将其更改为两个类?”是什么意思?永远不要调用repaint();inside paint()/paintComponent(),因为您是否可以尝试扩展面板并覆盖paintComponent()方法,例如“frame.setSize(50002000);”您真的有1000万像素的显示器?这是什么,巨无霸?“runpaintgui”;使用一些命名规则是一个好习惯。您可以参考“如何将其更改为两个类?”的含义,而不要调用repaint();inside paint()/paintComponent(),因为您是否可以尝试扩展面板并覆盖paintComponent()方法,例如“frame.setSize(50002000);”您真的有1000万像素的显示器?这是什么,巨无霸?“runpaintgui”;使用一些命名规则是一个好习惯。你可以参考