Come eseguire un'applet come un'applicazione desktop senza installare l'intero JDK?

6

Voglio creare un'applicazione desktop, un orologio analogico con l'opzione di impostare allarmi usando java. Per il rendering di tutti gli elementi grafici e le funzionalità dei pulsanti, l'applet Swing è la risposta.

Ma il problema è che voglio lanciare l'applet sul desktop e quindi ho bisogno di un visualizzatore di applet. Il visualizzatore di applet viene fornito con JDK e penso che installare l'intero JDK su un sistema per l'esecuzione di una semplice sveglia non sia davvero una buona idea perché ci vorrà molto spazio.

C'è una via d'uscita? Posso ottenere solo il visualizzatore dell'applet (o qualcosa di simile a questo) invece dell'intero JDK in modo da poter eseguire l'applet? O c'è un altro modo in cui posso fare il mio progetto usando Java?

    
posta DecodingLife 02.03.2013 - 13:47
fonte

4 risposte

6

Hai bisogno dell'appletviewer per eseguire il debug di applet java, se vuoi semplicemente eseguirle hai bisogno di Java Runtime Environment (JRE) e del plugin Java per il tuo browser preferito.

Ma se hai solo bisogno di un orologio, puoi farlo solo con javascript e HTML5: link

    
risposta data 02.03.2013 - 14:31
fonte
3

Sono riluttante a postare questa risposta, tuttavia non esiste un modo per fare ciò che vuoi. Non c'è modo di aggirarlo poiché il codice Java ha bisogno della JVM da eseguire. Bene, c'è un modo per aggirarlo e cioè usare un compilatore Java to EXE come Excelsior . Non ne so molto altro a parte il fatto che può prendere il tuo codice Java e una volta eseguito attraverso il compilatore, ti rimane un exe nativo (presumo che tu intenda windows) che non si basa su una JVM.

Solo per espandermi, non sono uno sviluppatore Java quindi non sono sicuro di quanti altri strumenti ci sono che fanno ciò che fa Excelsior JET; tuttavia, fai attenzione perché molti strumenti Java-To-EXE non compilano il tuo codice in un binario PE nativo, ma semplicemente avvolgono il tuo file .jar in un file EXE e richiedono comunque l'esecuzione di JVM.

    
risposta data 02.03.2013 - 14:44
fonte
3

Per eseguire qualsiasi codice Java, è necessario che la JVM (Java Virtual Machine) sia installata sul sistema. Sulla maggior parte dei sistemi, questo è installato come parte del JRE (Java Runtime Environment). Gli sviluppatori di solito installano il JDK (Java Development Kit) che è un superset di JRE che include anche compilatori, debugger e strumenti associati.

Esaminando Java SE Technologies a colpo d'occhio di Oracle, si possono vedere gli strumenti aggiuntivi che fanno parte del JDK che non sono forniti con JRE.

Le applet fanno parte del plug-in di runtime dell'applet, il AppletViewer fa parte del JDK. Non è necessario che JDK veda un'applet se l'applet è ospitata su una pagina Web.

Se questo non ha bisogno di essere parte di una pagina web, si dovrebbe invece considerare l'utilizzo di un ambiente indipendente che fa parte del mondo di Java SE. Swing si trova sotto "User Interface Libraries" nel grafico sulla pagina dell'oracolo che rientra sotto JRE.

Scrivere per un Java SE autonomo (piuttosto che un'applet) dovrebbe renderlo più facile da costruire ed eseguire. Vedi Java: applicazione Swing su Wikipedia per ottenere un'idea molto semplice di un'app ciao mondo usando questo struttura. Nota in particolare il metodo public static void main(final String[] args) { ... } che esiste all'interno della classe - questo è il modo in cui si richiama un'applicazione Java SE.

Se si volesse evitare di richiedere un'installazione separata di una JVM, è possibile che ciò avvenga con varie restrizioni. Il più noto di questi è il pacchetto commerciale Excelsior (non è esattamente 'economico' ). Excelsior compila il codice nativo e include un runtime (il runtime JET) in grado di caricare dinamicamente altri file .class. Esiste anche gcj , sebbene sembri essere ... stantio e senza aggiornamenti recenti (di quattro anni). Leggi la pagina status e nota che probabilmente non si adatta alle tue esigenze (java.awt: Un sacco di il codice esiste, ma non abbastanza per l'uso in applicazioni reali.)

Se stai per scrivere un'applicazione java, la soluzione migliore è avere il JRE (uno non ha bisogno del JDK completo) sul computer di destinazione e costruire per quello. Il JRE non è così grande e potrebbe benissimo essere già sulle macchine di destinazione.

    
risposta data 05.03.2013 - 19:38
fonte
0

Affinché l'applet funzioni senza JDK, ovvero non attraverso appletviewer , puoi seguire questi passaggi -

  1. Incorporalo in HTML utilizzando il tag applet -
applet ARCHIVE="jar file or external jar files if any" code ="class name with .class extn" width = 800 height =500> 
  1. Crea un file jar per il tuo codice.
  2. Firma tutti i tuoi file jar usando jarsigner
  3. Esegui il tuo file HTML con JRE installato per i browser

puoi visualizzare l'applet nel browser con questo ovunque.

    
risposta data 05.03.2013 - 18:50
fonte

Leggi altre domande sui tag