nullPointerException przy setBounds

0

Witajcie programistki i programiści :)
Wkrótce będziecie musieli ze mną pracować, jednak za nim to nastąpi męczę samego siebie w domu.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at main.Main.update(Main.java:38)
at sun.awt.RepaintArea.updateComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Linia 38:

  public void paint(Graphics g){
rectangl.setBounds(p.getX(), p.getY(), 10, 50); //o tutaj
//...
}

Wywołuję ją z wątku, z innej klasy:

    public void ruch() {
        TimerTask task = new TimerTask() {
          public void run() {

        	  ball_x-=1;
      	    	main.repaint();
         	 
          
          }
        };
        Timer timer = new Timer();
        timer.schedule(task, 0, 0);
    }
}

Co powoduje ten błąd? Jak go naprawić?

Pozdrawiam,
Adrian

0

Miło byłoby jeżeli odpowiedzi uzyskiwałbym w ramach odpowiedniego przycisku :P
Rectangle rectangl = new Rectangle();
Zainicjowałem w taki sposób, jednak nie wiedziałem, że argumenty również muszę tutaj podać.
Dzięki, maszynaz!

0

p jest równe null ?

0

Mam jeszcze jedno pytanie, a raczej problem.
Napisałem kod, pierwsze skompilowanie w Eclipse i wszystko działa poprawnie. Zatrzymuję, nic nie zmieniam, Ctrl+F11 i znowu ukochany nullPointer:

Exception in thread "Timer-0" java.lang.NullPointerException
	at main.Ball$1.run(Ball.java:29)
	at java.util.TimerThread.mainLoop(Unknown Source)
	at java.util.TimerThread.run(Unknown Source)
//linia 29:
	if(main.ballr.intersects(main.playerr))

To się dzieje zawsze za drugim razem, pierwsze wywołanie programu jest w porządku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1