Sziasztok,
az lenne a kérdésem, hogy most készítek egy grafikus java swing alkalmazást, és menüből lehet bizonyos funkciókat (osztályokat, ablakokat) indítani. Az egyik ilyen menüpontnál elindul az osztály, megjelenik az ablak, elvégzem a dolgokat, bezárom, dispose(9-t előtte kiadom. Visszakerülök a menübe, és ha újra elindítom az előző dolgot, akkor ugyanúgy meg tudom csinálni, de már az adott nyomógombhoz rendelt műveletet kétszer végzi el. Ha harmadszor megyek vissza akkor 3-szor végzi el stb..
Az az érdekes, hogy ha a menüből egy másik osztályt-ablakot indítok ugyanolyan módon, az nem csinálja ugyanezt. Mitől lehet ez, nincs valami ötletetek? Dispose() -al elvileg törlöm a memóriából az ablakot, de úgy tűnik, hogy mégsem törlődik.
Előre is köszi.
2 Comments
Auth Gábor
Ha nem írsz forrásrészletet, akkor nehéz megmondani mi a baj, de valószínűleg valahova és valamiért hozzáadod valami listához az új ablakot...
Szóval csatolj forrást.
Mészáros Tamás
Végül megoldódott. Az volt a baj, hogy a JButton parancsgomb statikusként lett deklarálva, és ilyenkor hiába törlődik az ablak a dispose() hatására, a rajta lévő static módosítóval ellátott dolgok még továbbélnek. Ez is egy tanulság, Köszi egyébként, hogy reagáltál.