franpic
26-05-2011, 12:27
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
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