podwojne buforowanie

0

Witam mam mały problem. Probuje zrobic podwojne buforowanie. Jak probuje stowrzyc obiekty typu Image to otrzymuje null i sie wszystko wywala:/

class Przestrzen extends Canvas{
	 private Dimension dim;
	 private Graphics bufferGraphics;
	 private Image offscreen;
	 
	 public void init()  
     { 
       

     }
	public void paint (Graphics g) {
		super.paint(g);
		Graphics2D g2 = (Graphics2D) g;
		//bufferGraphics.setColor(Color.RED);
		//bufferGraphics.drawOval(Start.x1, Start.y1, 4, 4);
		
		//g2.drawImage(offscreen, 0, 0, this);
	}
	
	Przestrzen(){
		setBackground(Color.BLACK);
		setSize(400,400);
        dim = getSize(); 
        
        setSize(400	,400);
        setBackground(Color.black); 
         System.out.println("inicjalizaaaaaaaaaaaaaaaaaaacja");
        offscreen = createImage(20,20);                                                 --------------tutaj mam null:/
        System.out.println("wskaznik:"+offscreen);
        //bufferGraphics = offscreen.getGraphics(); 
		
	}

}

help:/ ps:czy w ogole moge dziedziczyc po canvasie ?? jak nie robie podwojnego buforowania to dziala wiec ....

0

Problem leży w tym, że tworzysz obrazek w konstruktorze. Chyba jest to związane z tym, że aplikacja jeszcze nie jest na ekranie. Dorzuć przycisk "Start" i przerzuć tworzenie bufora w actionPerformed().
A po Canvas można (trzeba?) dziedziczyć gdy nie dziedziczysz z komponentu.

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