If you have several JFrames open and you close one that has EXIT_ON_CLOSE it will close all the JFrames and exit the app.
If you close one that has DISPOSE_ON_CLOSE only that one JFrame will be closed.If you only have one JFrame there isn't a real difference unless you have other non-deamon threads running.let's say you have an application which opens with a login dialog box
after logging inDISPOSE_ON_CLOSE will dispose of the login dialog box, then proceed with the rest of the programEXIT_ON_CLOSE will terminate the program