Domanda

Mi chiedo se puoi mettere la classe principale (o la classe con il metodo init, qualunque cosa) all'interno di un pacchetto e averla ancora eseguita in un browser? Il più delle volte metto le mie applet nel (pacchetto predefinito) ma la mia applet qui è in un pacchetto, quindi posso ancora incorporarla nella pagina web?

L'ho cercato su Google con pochi risultati. Supponi di avere MyApplet.class in una directory chiamata app nel file jar chiamato MyApp.jar .

Ho provato questi senza successo:

<applet archive="MyApp.jar" code="MyApplet.class">
<applet archive="MyApp.jar" code="app/MyApplet.class">
<applet archive="MyApp.jar" code="/app/MyApplet.class">
<applet archive="MyApp.jar/app/" code="MyApplet.class">
<applet archive="MyApp.jar" codebase="app/" code="MyApplet.class">

Ognuno di questi mi dà una ClassNotFoundException.

Grazie in anticipo.

È stato utile?

Soluzione

L'attributo di archivio deve contenere il nome del file del vaso e deve essere collocato nella stessa directory della pagina Web.

Il file di classe nell'attributo code dovrebbe contenere il nome di classe completo separato da barre in avanti per indicare la struttura della directory.

Pertanto, nel tuo elenco di prove tentate, la prova 2 dovrebbe avere successo, a condizione che MyApp.jar sia effettivamente presente accanto alla pagina html. Inoltre, MyApp.jar dovrebbe contenere la directory 'app' nella radice, che dovrebbe contenere il file di classe MyApplet. Non dimenticare di avere la classe MyApplet stessa nel pacchetto dell'app.

Puoi dare un'occhiata a questa pagina per riferimento.

Altri suggerimenti

Bene, elenchi il pacchetto in una forma punteggiata e non metti il ??'.class' alla fine.

<applet code="packagefolder1.packagefolder2.MyApplet" archive="folder1/folder2/MyApp.jar">

</applet>

Non ne sono sicuro, ma hai provato in questo modo ?:

<applet archive="MyApp.jar" code="MyApplet">
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top