Swing, rysowanie na JPanel

0

witam.

mam takie pytanie, pisze w Swingu program i chce rysowac. Wybralem (nie wiem czy slusznie) do tego komponent JPanel. Rysuje na nim pobiegajac jego grafike metoda getGraphics():

Graphics g = pnlKartka.getGraphics();

a potem uzywajac obiektu g robie juz co chce, ale jest problem: gdy przesune okno / zminimalizuje na pasek i przywroce, itp wszystko co narysowalem znika (czego sie spodziewalem). Jaka metode mam nadpisac zeby narysowane elementy zostawaly odrysowane w takich przypadkach?

a moze ktos poleci mi inny komponent, i od razu kilka wskazowek co ewentualnie ponadpisywac itd.

pozdrawiam,
Lukasz

0

musisz przeslonic metode paint, bedzie automatycznie wykonywana przy skalowaniu okna.

0

Dzieki za odpowiedz. Mam przeslonic metode paint jakiego obiektu?? Graphics?? Jestem poczatkujacy w Javie.

0

paint(Graphics g)

i w niej wywolujesz rysowanie tego co chcesz miec na ekranie :)

0

Przesłoń paint komponentu, na którym rysujesz - w ty wypadku JPanel.

0

Mały przykład:

public class MojPanel extends JPanel {
    public void paint(Graphics g) {
        g.fillRect(0,0,100,100);
        /* Lub: 
            Graphics2D g2 = (Graphics2D) g;
            i wtedy korzystamy z Java 2D Api :) 
        */
    }
}

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