|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2001
Città: Torino
Messaggi: 3092
|
[Java] Problema!!!
Ho questa applet che mi da errore:
Codice:
package operazione2; import javax.swing.*; import java.awt.event.*; import java.awt.*; public class Main extends java.applet.Applet implements ActionListener { protected JTextField numero1,numero2,numero3; private JButton somma, differenza; private JLabel lab,lab2,lab3; @Override public void init() { lab = new JLabel("numero 1:"); lab2 = new JLabel("numero 2:"); lab3 = new JLabel("Il risultato è:"); numero1 = new JTextField(10); numero2 = new JTextField(10); numero3 = new JTextField(10); this.add(lab); this.add(numero1); this.add(lab2); this.add(numero2); this.add(lab3); this.add(numero3); somma = new JButton("somma"); differenza = new JButton("differenza"); this.add(somma); this.add(differenza); somma.addActionListener(this); differenza.addActionListener(this); this.setSize(200,200); } public void actionPerformed(ActionEvent e) { int n1 = Integer.parseInt(numero1.getText()); int n2 = Integer.parseInt(numero2.getText()); if(e.getActionCommand().equals("somma")) numero3.setText(String.valueOf(n1+n2)); if(e.getActionCommand().equals("differenza")) numero3.setText(String.valueOf(n1-n2)); } @Override public void paint(Graphics g) { } } Codice:
<HTML> <BODY> <H1>Applet: esempio 1</H1> <APPLET CODE="Main.class" WIDTH=150 HEIGHT=25> </APPLET> </BODY> </HTML> java.lang.NoClassDefFoundError: Main (wrong name: operazione2/Main) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.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.NoClassDefFoundError: Main (wrong name: operazione2/Main) |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2001
Città: Torino
Messaggi: 3092
|
aiuto please
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
come puoi ben vedere non é l'applet a darti errore perché nel call stack non appare neanche, quindi il tuo applet non entra neanche in gioco. l'errore poi mi pare molto chiaro: la JVM non riesce a trovare la classe della tua applet; avrai sbagliato a specificare qualche path...
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2001
Città: Torino
Messaggi: 3092
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il problema è qui:
<APPLET CODE="Main.class" WIDTH=150 HEIGHT=25> La tua class Main si chiama "operazione2.Main" (aka nome pienamente qualificato). <APPLET CODE="operazione2.Main.class" WIDTH=150 HEIGHT=25> Accertati inoltre che il file Main.class si trovi in una sottocartella "operazione2" all'interno della directory in cui è collocato il file html della pagina contenente l'applet.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 2001
Città: Torino
Messaggi: 3092
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jan 2005
Città: Siena
Messaggi: 1313
|
il file html deve stare fuori dalla cartella operazione2
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
la cartella operazione2 deve contenere il file .class. Se la cartella operazione2 si trova sul desktop metti sul desktop il file html.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Nov 2001
Città: Torino
Messaggi: 3092
|
Quote:
Codice:
import java.awt.*; import java.awt.event.*; import java.sql.*; public class Interfaccia extends java.applet.Applet implements ActionListener { // dichiarazione data member della classe TextField nome, cognome; Connection conn; Button salva,visualizza; public void init() { try { //String userName; //String password; //String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=db.mdb;"; Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=db.mdb"); System.out.println ("Database: connessione stabilita"); } catch (Exception e) { System.err.println ("Impossibile stabilire connessione al database server"); } add(new Label("Nome")); nome = new TextField(40); cognome = new TextField(40); add(nome); add(new Label("Cognome")); add(cognome); salva= new Button("Salva"); add(salva); salva.addActionListener(this); visualizza= new Button("Visualizza"); add(visualizza); visualizza.addActionListener(this); } public void actionPerformed(ActionEvent evt) { String scelto=evt.getActionCommand(); if (scelto=="Salva") Azione(); if (scelto=="Visualizza") Visualizza(); } void Azione(){ String n=nome.getText(); String c=cognome.getText(); try { PreparedStatement s; String query="INSERT INTO tab(Nome,Cognome) VALUES('"+n+"','"+c+"')"; s = conn.prepareStatement(query); int count = s.executeUpdate (); s.close (); } catch (Exception e) { System.err.println ("Cannot connect to database server"); } } void Visualizza(){ try { Statement s = conn.createStatement (); s.executeQuery("SELECT * FROM tab"); ResultSet rs = s.getResultSet (); int count = 0; while(rs.next ()){ String nomeVal = rs.getString ("Nome"); String cognomeVal = rs.getString ("Cognome"); System.out.println(nomeVal+cognomeVal); count++; } } catch (Exception e) { System.err.println ("Cannot connect to database server"); } } public void paint(Graphics g) { } } |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jan 2005
Città: Siena
Messaggi: 1313
|
credo sia qui il problema, ho dato un'occhiata veloce....
Codice:
if (scelto=="Salva") Azione(); if (scelto=="Visualizza") Visualizza(); Codice:
if (scelto.equals("Salva")) Azione(); if (scelto.equals("Visualizza")) Visualizza(); |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
L'applet dovrebbe incontrare un'eccezione di sicurezza nel momento in cui tenti la connessione alla base dati.
Controlla nella console java e vedi se c'è un messaggio stile "SecurityException".
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Nov 2001
Città: Torino
Messaggi: 3092
|
E quindi? Devo semplicemente gestire l'eccezione o non va? Non ho possibilità di provare fino a domani..
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
La seconda che hai detto. Non va.
Per farla andare dovresti certificarla. Non è necessario acquistare un certificato digitale, puoi auto-certificarti con keytool.exe (incluso nel JDK) ma, ovviamente, quando un eventuale terzo volesse usare l'applet si troverà di fronte alla richiesta di accettare una firma digitale di nonna pina: bisognerebbe gridare banzai prima di accettare.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:56.