I can't call the repaint() method in my main method

前端 未结 2 1117
谎友^
谎友^ 2021-01-29 15:53

Everytime I try to call the repaint() method it says a non static method cannot be reference from a static method. Btw, it\'s in the same class as the paintComponent method. I t

2条回答
  •  深忆病人
    2021-01-29 16:32

    You can't call it from main() because you can't call non-static functions (repaint()) or use non-static variables inside a static method (main()).

    Instead make the main class implement Runnable and use a thread:

    Thread repaintThread = new Thread("some_name", this); // \
    public void run(){                                    // |
       while(true){                                       // >-Theese shall be in the main class
           repaint();                                     // |
       }                                                  // |
    }                                                     // /
    repaintThread.start();    //this shall be in main()
    

提交回复
热议问题