|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2011
Messaggi: 4
|
[JAVA] problema con APPLETVIEWER
Buon giorno a tutti,
ho creato delle applet java e ovviamente con eclipse mi partono. Volendo provare con appletviewer però no, tantomeno in vari browser. vi posto il codice della pagina html: <P>Questa è la mia <I>prima APPLET</I></P> <APPLET CODE="..\..\workspace\Applet\bin\AppletAuto.class" WIDTH=300 HEIGHT=300>Per la visualizzazione di questa applet hai necessità di aggiornare il tuo browser</APPLET> e quì quello della classe: import java.applet.Applet; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.font.FontRenderContext; import java.awt.font.TextLayout; import java.awt.geom.Point2D; import java.awt.geom.Line2D; import java.awt.Rectangle; import java.awt.geom.Ellipse2D; public class AppletAuto extends Applet{ public void paint(Graphics g) { //ristabilisce il riferimento a Graphics2D Graphics2D g2 = (Graphics2D)g; //Costruisce la carrozzeria centrale final int X_CENTRALE = (getWidth()/2) - 30; final int Y_CENTRALE = (getHeight()/2) - 5; final int LUNGHEZZA = 60; final int ALTEZZA = 10; Rectangle centrale = new Rectangle(X_CENTRALE, Y_CENTRALE, LUNGHEZZA, ALTEZZA); //Costruice le 2 ruote Ellipse2D.Double ruota1 = new Ellipse2D.Double((X_CENTRALE + 10), (Y_CENTRALE + 10), 10, 10); Ellipse2D.Double ruota2 = new Ellipse2D.Double((X_CENTRALE + 40), (Y_CENTRALE + 10), 10, 10); //Costruisce la parte superiore Point2D.Double p1 = new Point2D.Double(X_CENTRALE + 10, Y_CENTRALE); Point2D.Double p2 = new Point2D.Double(X_CENTRALE + 20, Y_CENTRALE - 10); Point2D.Double p3 = new Point2D.Double(X_CENTRALE + 40, Y_CENTRALE - 10); Point2D.Double p4 = new Point2D.Double(X_CENTRALE + 50, Y_CENTRALE); Line2D.Double l1 = new Line2D.Double(p1, p2); Line2D.Double l2 = new Line2D.Double(p2, p3); Line2D.Double l3 = new Line2D.Double(p3, p4); //Disegna tutte le parti g2.draw(l1); g2.draw(l2); g2.draw(l3); g2.draw(centrale); g2.draw(ruota1); g2.draw(ruota2); //testo da scrivere String messaggio = "JavaFrancescoMobile 1.2 ti"; Font fontMoltoGrande = new Font("Sans-Serif",Font.PLAIN, 18); g2.setFont(fontMoltoGrande); g2.setColor(Color.black); //misurare una stringa tramite l'oggetto TextLayout //dopo aver convertito g2 in un oggetto di tipo FontRenderContext FontRenderContext contesto = g2.getFontRenderContext(); TextLayout layout = new TextLayout(messaggio, fontMoltoGrande, contesto); final float X_INIZIALE = (getWidth() - layout.getAdvance()) / 2; final float Y_INIZIALE = Y_CENTRALE + 40; g2.drawString(messaggio, X_INIZIALE, Y_INIZIALE); } } come vedrete nel rapporto della JVM c'è scritto che non trova la classe, può dipendere dal fatto che utilizzo percorsi relativi e non assoluti? e questo è il report della java virtual machine: Java Plug-in 1.6.0_25 Uso della versione JRE 1.6.0_25-b06 Java HotSpot(TM) Client VM Directory principale utente = C:\Users\pic ---------------------------------------------------- c: cancella finestra console f: finalizza oggetti nella coda di finalizzazione g: recupera spazio h: visualizza questo messaggio di aiuto l: esegui dump dell'elenco classloader m: stampa utilizzo memoria o: attiva registrazione eventi q: nascondi console r: ricarica configurazione criteri s: esegui dump delle proprietà del sistema e dell'installazione t: esegui dump dell'elenco thread v: esegui dump dello stack del thread x: cancella cache classloader 0-5: imposta livello di traccia su <n> ---------------------------------------------------- caricamento: classe ..\..\workspace\Applet\bin\AppletAuto.class non trovata. java.lang.ClassNotFoundException: ......workspace.Applet.bin.AppletAuto.class at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Eccezione: java.lang.ClassNotFoundException: ......workspace.Applet.bin.AppletAuto.class |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Di norma è l'IDE che si occupa di questi dettagli (specialmente se l'ide è netbeans) comunque il valore dell'attributo "code" è il nome pienamente qualificato della classe che definisce l'applet. Nel tuo caso sarebbe:
code="AppletAuto" Se, come di solito si fa, usi un jar per impacchettare le classi e le risorse del tuo programma, allora dovrai anche specificare l'attributo archive: archive="il percorso del file .jar relativo alla pagina html che presente l'applet" Per essere un po' più concreti, immaginando che il programma sia impacchettato nel file programma.jar e che questo file si trovi nella stessa directory della pagina html: /applet.html /programma.jar la pagina html sarebbe: Codice:
<html> <body> <applet code="AppletAuto" width="300" height="300" archive="programma.jar"></applet> </body> </html>
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: May 2011
Messaggi: 4
|
mi può anche star bene, ammesso che sia l'unica maniera, perchè, il file ce l'ho in locale, in una cartella diversa dalla pagina html e non l'ho impacchettato in un jar, e preferivo lasciare la situazione così; ma se non c'è alternativa.....
Grazie mille, comunque |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: May 2011
Messaggi: 4
|
Funge!
Ti ringrazio ancora, con le tue direttive mi funziona tutto
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:04.