cześć,

czy mógłby ktoś z na forum wytłumaczyć (najlepiej na jakimś przykładzie) jak działa i do czego służy metoda addNotify() z klasy JComponent ?

wiem, że chodzi o "przekazanie sterowania" zaraz po utworzeniu danego komponentu (czy coś takiego) ale ogólnie mało na ten temat znalazłem a wiem, że są na tym forum osoby, które zawodową programują w javie i będą w stanie wyjaśnić o co chodzi w tej metodzie addNotify() :-)

może dodam jeszcze kawałek kodu, z jakiegoś tutoriala o tworzeniu gierki w javie:

public class Board extends JPanel implements Runnable {

    private Image star;
    private Thread animator;
    private int x, y;

    private final int DELAY = 50;


    public Board() {
        setBackground(Color.BLACK);
        setDoubleBuffered(true);

        ImageIcon ii = new ImageIcon(this.getClass().getResource("star.png"));
        star = ii.getImage();

        x = y = 10;
    }

    public void addNotify() {
        super.addNotify();
        animator = new Thread(this);
        animator.start();
    }

    public void paint(Graphics g) {
        super.paint(g);

        Graphics2D g2d = (Graphics2D)g;
        g2d.drawImage(star, x, y, this);
        Toolkit.getDefaultToolkit().sync();
        g.dispose();
    }


    public void cycle() {

        x += 1;
        y += 1;

        if (y > 240) {
            y = -45;
            x = -45;
        }
    }

    public void run() {

        long beforeTime, timeDiff, sleep;

        beforeTime = System.currentTimeMillis();

        while (true) {

            cycle();
            repaint();

            timeDiff = System.currentTimeMillis() - beforeTime;
            sleep = DELAY - timeDiff;

            if (sleep < 0)
                sleep = 2;
            try {
                Thread.sleep(sleep);
            } catch (InterruptedException e) {
                System.out.println("interrupted");
            }

            beforeTime = System.currentTimeMillis();
        }
    }
}

to jest klasa odpowiedzialna za wyświetlanie grafiki na panelu, prosiłbym tylko o wyjaśnienie metody addNotify()

z góry dziękuję za wszystkie odpowiedzi, pozdrawiam