|
|||||||
|
|
|
![]() |
|
|
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: 05:39.




















