Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [Java]problema con le applet...

    Ciao a tutti!!

    Sono riuscito finalmente ad avere il compilatore della sun e come ambiente di sviluppo uso il netBeans IDE 3.6 ...

    io attarverso un tutorial sono riuscito a creare un applet e ho visto anche esempi funzionanti per capirci meglio...

    Io prendo la mia applet come .java e la porto in .class con javac.exe..

    poi la inserisco nella mia pagina..

    comunque il codice dell'applet è questo:

    codice:
    import java.awt.*;
    import java.applet.*;
    
    
    public class app extends Applet {
        
       Label scritta = new Label("Inizia la applet",Label.RIGHT);
         
       public static void main(String args[]) { 
        
            Frame fr = new Frame("fr1");
            app eff = new app();
            eff.init();
            fr.add("Center",eff);
            eff.resize(280,200);
            eff.show();
            
       }
        
       public void init() {
           
           Button b1 = new Button("Bottone 1");
           Button b2 = new Button("Bottone 2");
           add(b1);
           add(b2);
           add(scritta);
           
       }
        
        
    }
    e nella pagina html ho messo

    codice:
    <APPLET CODE="app.class" WIDTH=280 HEIGHT=100 VIEWASTEXT>
    il tuo bronswer non supporta Java
    </APPLET>
    tutto sembra ok ma quando carico la pagina la applet non viene caricata e se vado con il mouse sul rettangolo grigio formato dall'applet non caricata, sulla barra di stato mi dice che la classe non è stata trovata!!:

    "Load:class app not found"

    eppure il file .class è nella stessa directory della pagina html..

    Non so proprio come fare.. se qualcuno mi può illuminare...

    Grazie mille a tutti e ciao ciao
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    nelle applet non devi mettere il main!!

    è quello il problema, devi mettere il metodo start()

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Prova anche ad aggiungere il parametro codebase all'HTML dell'applet:
    codice:
    <APPLET CODEBASE="." CODE="app.class" WIDTH=280 HEIGHT=100 VIEWASTEXT>
    il tuo bronswer non supporta Java
    </APPLET>
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Allora.. ho fatto come avete detto voi ho messo lo start e il codebase

    P.S. il codice con lo start ora è così:

    codice:
    import java.awt.*;
    import java.applet.*;
    
    
    public class app extends Applet {
        
       Label scritta = new Label("Inizia la applet",Label.RIGHT);
         
       public void start() {
        
            Frame fr = new Frame("fr1");
            app eff = new app();
            eff.init();
            fr.add("Center",eff);
            eff.resize(280,200);
            eff.show();
            
       }
        
       public void init() {
           
           Button b1 = new Button("Bottone 1");
           Button b2 = new Button("Bottone 2");
           add(b1);
           add(b2);
           add(scritta);
           
       }
        
        
    }
    Ma purtroppo non ho anora risolto niente...

    Mi dice che la classe ancora non viene trovata

    grazie mille comunque per gli aiuti che mi state dando.. ciao
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  5. #5
    Utente di HTML.it L'avatar di Fox82
    Registrato dal
    Feb 2002
    Messaggi
    459
    Originariamente inviato da netarrow
    nelle applet non devi mettere il main!!

    Non è vero che non devi mettere il metodo main(), lo puoi inserire tranquillamente.

    Ti potrebbe essere utili per esempio per creare una classe che funzioni sia come applicazione standalone che come applet

    Linux user number 403381

    Stop TCPA!

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Credo che sia un problema del browser... a me lo visualizza tranquillamente (e che ho IE6).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Ma no le altre applet di esempio le visualizzo...
    Mi sa che i problemi sono con la compilazione...

    Io uso il file javac.exe(incluso nel J2sdk) voi cosa usate?
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Tutti usano javac (è l'unico compilatore esistente! )

    L'unico problema che ho riscontrato in compilazione è l'uso del metodo deprecato "show()" da sostituire con "setVisible(true)".

    Per il resto non so...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    codice:
    ...
    Frame fr = new Frame("fr1");
            app eff = new app();
            eff.init();
            fr.add("Center",eff);
            eff.resize(280,200);
            eff.show();
    ...
    ma xhè crei un oggetto app? basta usare this, inoltre non serve richiamare init(), viene chiamato dal browser.
    Prova a cambiare in una cosa simile a questa:

    codice:
    //da quel che ho capito vuoi che l'applet apra una finestra con
    //dentro se stesso... corregimi se sbaglio
    public void start() {
        
             final Frame fr = new Frame("fr1");
            fr.addWindowListener(new WindowAdapter() {
    	public void windowClosing(WindowEvent evt) {
    		fr.setVisible(false);
    	}
    });
            fr.setLayout(new BorderLayout());
    	fr.add(BorderLayout.CENTER, this);
    	fr.pack();
    	fr.setSize(200, 200);
            fr.show();
       }
    ...
    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.