műszaki dokumentáció

Page 3 3

A használata a leállás-csapda


3. lista egy olyan változatát mutatja ugyanezt a kérelmet, hogy megoldja ezt a problémát. Az új verzió az alkalmazás módosítja a kódot 2. lista, amelyben a shutdown-csapda. Osztály a csapdába úgy definiáljuk, mint egy belső osztály fő alkalmazási osztályban. Így kap hozzáférést az összes mezőt és módszereit az alap osztály. A 3. lista osztály módszer távon csapdák egyszerűen okoz leállás módja a fő osztály. Ez biztosítja felhívását az alkalmazás befejezését.

Megjegyzés: a initialize metódus. Az első dolog, amit csinál - létrehoz egy példányt a belső osztály MyShut-downHook, amely örökli az Thread osztály.
MyShutdownHook leállítás Hook = új MyShutdownHook ();
Most, hogy van egy példánya MyShutdownHook, akkor regisztrálja azt Runtime módszerrel addShut downHook:
. Runtime.getRuntime () hozzá ShutdownHook (shutdownHook);
A fennmaradó initialize metódus pontosan megfelel azonos eljárás 2. kódrészlet Ez a rész létrehoz egy ideiglenes fájl kimeneti vonal ideiglenes fájl létrehozásakor.

Most próbálja meg futtatni egy kis swing-alkalmazás. Győződjön meg arról, hogy az ideiglenes fájl törlődik minden esetben, bármilyen módon bezárhatja az alkalmazást.
Shutdown-csapdák, hogy mi tekinthető ebben a cikkben valójában az egyetlen helyes megoldás a kódex végrehajtása befejezésekor a kérelmet. És mivel nem lehet biztos benne, hogy a felhasználó ebben az időben, hogy csukja be a kérelmet, ezek használata nagyban megkönnyíti az életét, biztosítva a szabályoknak az Ön által.

Kapcsolódó cikkek