Lähtökohta:
Pääluokassa luodaan Pelaaja-oliota joilla on tiettyjä arvoja. Nämä oliot annetaa ns.Peli-oliolle joka myös luodaan pääluokassa.
Pääluokassa luodaan myös JPanel jossa piirto tapahtuu.
Panelin paintComponent metodissa piirrellään näitä Pelaaja-olioiden arvoja ruudulle siten että aina kun Peli-luokassa muutetaan jotakin Pelaaja-olion arvoa kutsutaan Pääluokka.paneeli.repaint().
Jos paneelissa piirrellään jotakin satunnaisia arvoja ruutu piirtyy normaalisti. Kun piirrellään Pelaaja-olioiden arvoja ruutu jää harmaaksi ja komentoriville syntyy ajon aikana kasa virheitä " AWT-EventQueue 0" otsikolla.
Jos joku keksisi ratkaisun tai vaihtoehtoisen tavan jolla tuon saisi toimimaan olisn kiitollinen..
Pääluokka { static Peli peli; static Pelaajat[] pelaajat; static Paneeli paneeli; static JFrame kehys; main() new Pääluokka(); public pääluokka() JFrame=new Jframe; paneeli=New Paneeli(); luodaan pelaajat; peli = new Peli(pelaajat); } ------------------------------------------------------ Public class Paneeli { paintComponent() drawString(Pääluokka.pelaajat.arvo,int,int,this) } -------------------------------------------------------- public class Pelaaja { arvo } --------------------------------------------------------- public class Peli { public Peli(pelaajat[]) pelilooppi pelaajat.arvo="jee"; Pääluokka.paneeli.repaint(); }
Eipä viitti samaan antaa vinkkejä useammalla palstalla. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.