Per chiudere il programma Java dobbiamo considerare quale tipo di applicazione Java è?, perché la terminazione di applicazione di Java varia tra programma di java di nucleo normale per oscillare l’applicazione di GUI. In generale tutti i programmi Java terminano automaticamente una volta che tutti i thread utente creati dal programma termina la sua esecuzione, incluso il thread principale.,
Introduzione
JVM non aspetta il thread del demone, quindi non appena l’ultimo thread utente è terminato, il programma Java terminerà. Se si desidera chiudere o terminare l’applicazione java prima di questo, l’unica opzione è utilizzare System.exit(int status)
oRuntime.getRuntime().exit()
.
Questo fa sì che JVM abbandoni tutti i thread e esca immediatamente. I ganci di arresto vengono chiamati per consentire una compensazione dell’ultimo minuto prima che la JVM termini effettivamente., System.exit()
accetta anche un parametro di stato int in cui un valore diverso da zero denota esecuzione anomala e il risultato restituito dal comando java al chiamante. In questo tutorial java vedremo l’esempio di chiusura sia del programma Java che dell’applicazione Java Swing.
Swing è un toolkit di widget GUI per Java. Fa parte di Oracle Java Foundation Classes (JFC) – un’API per fornire un’interfaccia utente grafica (GUI) per i programmi Java. Swing è stato sviluppato per fornire un set più sofisticato di componenti GUI rispetto al precedenteAbstract Window Toolkit (AWT)
., JAVA fornisce un ricco set di librerie per creare un’interfaccia utente grafica in modo indipendente dalla piattaforma.
Java Swing
A differenza di AWT, Java Swing fornisce componenti leggeri e indipendenti dalla piattaforma. Il javax.il pacchetto swing fornisce classi per java swing API
2.1 MVC Architecture
Swing API architecture segue l’architettura MVC liberamente basata nel modo seguente.
- Un modello rappresenta i dati del componente.
- View rappresenta la rappresentazione visiva dei dati del componente.,
- Controller prende l’input dall’utente sulla vista e riflette le modifiche nei dati del componente.
- Il componente Swing ha il modello come elemento separato e la vista e la parte del controller sono bastonate negli elementi dell’interfaccia utente. Usando questo modo, Swing ha un’architettura look-and-feel collegabile.
Ogni interfaccia utente considera i seguenti tre aspetti principali:
- Elementi dell’interfaccia utente : Questi sono gli elementi visivi principali che l’utente alla fine vede e interagisce con. GWT fornisce un enorme elenco di elementi ampiamente utilizzati e comuni che variano da base a complesso.,
- Layout: definiscono come gli elementi dell’interfaccia utente devono essere organizzati sullo schermo e forniscono un aspetto finale alla GUI (Graphical User Interface).
- Comportamento: Questi sono eventi che si verificano quando l’utente interagisce con elementi dell’interfaccia utente.
2.2 Funzioni Swing
Peso leggero – I componenti Swing sono indipendenti dall’API del sistema operativo nativo poiché i controlli Swing API vengono resi principalmente utilizzando il codice JAVA puro anziché le chiamate al sistema operativo sottostanti.,
- Rich controls – Swing fornisce un ricco set di controlli avanzati come Albero, TabbedPane, slider, colorpicker, controlli tabella.
- Altamente personalizzabile – Controlli Swing possono essere personalizzati in modo molto semplice come apperance visiva è indipendente dalla rappresentazione interna.
- Pluggable look-and-feel– SWING basato GUI applicazione look and feel può essere modificato in fase di esecuzione in base ai valori disponibili.
2.3 Setup
Editor Java popolari:
Per scrivere i tuoi programmi java avrai bisogno di un editor di testo. Ci sono IDE ancora più sofisticati disponibili sul mercato., Ma per ora, puoi considerare uno dei seguenti:
- Blocco note: sulla macchina Windows puoi usare qualsiasi semplice editor di testo come Blocco note TextPad.
- NetBeans: è un IDE Java open source e gratuito che può essere scaricato da http://www.netbeans.org/index.html.
- Eclipse: è anche un IDE java sviluppato dalla comunità open source eclipse e può essere scaricato dahttp://www.eclipse.org
Prerequisito
Questo esempio è sviluppato su Eclipse quindi è necessario installare un IDE Eclipse compatibile sul sistema.,
Abbiamo anche bisogno di WindowBuilder tool da installare su Eclipse IDE per la facilità del lavoro.
Esempio di chiusura del programma Java utilizzando System.exit ()
Ecco un esempio di codice di chiusura del programma Java chiamando il sistema.metodo exit (). Ricorda che l’argomento non zero per il metodo exit () come exit(1) denota la terminazione anormale dell’applicazione Java.
applicazioneuscita.java
Questo programma Java crea prima un thread nel metodo main e lo avvia, che stampa “Il thread utente è in esecuzione” e quindi il thread principale dorme per 200 Milli secondi., Fino ad allora, l’altro thread utente è in esecuzione e stampa, ma una volta che il thread principale si riattiva, termina il programma chiamando exit()
metodo di java.lang.System
classe.
3.2 Come chiudere l’applicazione Java swing dal programma
L’applicazione Swing utilizza principalmente JFrame
come contenitore di livello superiore che fornisce due opzioni per chiudere l’applicazione swing GUI dal codice. La prima opzione che è predefinita è EXIT_ON_CLOSE che termina il programma Java swing GUI quando si fa clic sul pulsante Chiudi sulla finestraJFrame
., Un’altra opzione è DISPOSE_ON_CLOSE
che termina JVM se l’ultima finestra visualizzabile è disattivata.
Differenza tra EXIT_ON_CLOSE
e DISPOSE_ON_CLOSE
è che se si dispone di un thread non demone in esecuzione non verrà chiuso nel caso di DISPOSE_ON_CLOSE
, mentre EXIT_ON_CLOSE
terminare JVM anche se il thread è in esecuzione. Esegui l’esempio seguente con un commentoDISPOSE_ON_CLOSE
nel tuo IDE e puoi vedere il thread utente in esecuzione anche dopo aver fatto clic sul pulsante Chiudi., Ecco un esempio di codice completo di chiusura dell’applicazione Swing in Java.
applicazioneuscita.java
3.3 Punti importanti per chiudere o terminare un’applicazione Java
-
System.exit()
chiama effettivamenteRuntime.getRuntime().exit()
metodo. - Argomento diverso da zero per exit () denota la terminazione anomala del programma Java.
- I ganci di arresto vengono eseguiti prima che il programma Java termini effettivamente.
- Ci sono due opzioni per chiudere l’applicazione Java Swing una è
EXIT_ON_CLOSE
e l’altra èDISPOSE_ON_CLOSE
., -
DISPOSE_ON_CLOSE
non termina la JVM se è in esecuzione un thread utente. - È anche possibile implementare window listener per implementare il meccanismo di chiusura utilizzando
System.exit()
nell’applicazione Swing.
Questo è tutto su come chiudere o terminare il programma Java. Abbiamo anche visto esempio di chiusura dell’applicazione Swing in Java e differenza traEXIT_ON_CLOSE
eDISPOSE_ON_CLOSE
.