Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Parametri e Applet

  1. #1

    Parametri e Applet

    Salve ragazzi,
    mi chiedevo se ci fosse la possibilità di settare i parametri di una applet
    all'interno di una classe java chiamante.
    Stò chiamando la applet tramite un pulsante posto all'interno di un JFrame,
    e dovrei settare anche un parametro necessario per l'esecuzione della applet stessa.
    Potrei anche creare tale parametro dinamicamente all'interno della applet stessa,
    ma c'è un modo per farlo?

    In altre parole esiste il metodo getParameter(...),
    ma non un setParameter(...), come posso ovviare?

    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Parametri e Applet

    Originariamente inviato da TommyGun
    Stò chiamando la applet tramite un pulsante posto all'interno di un JFrame,
    No alt .... che vuol dire?? Non dirmi che stai tentando di istanziare una classe XyzApplet (che estende Applet/JApplet) pensando che "diventi" davvero una "applet".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Re: Parametri e Applet

    Originariamente inviato da andbin
    No alt .... che vuol dire?? Non dirmi che stai tentando di istanziare una classe XyzApplet (che estende Applet/JApplet) pensando che "diventi" davvero una "applet".
    Non esattamente, la applet la stò richiamando in questo modo:

    window = new JFrame("Test Applet");
    window.setContentPane(theApplet);

    è solo un modo per testarla...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: Parametri e Applet

    Originariamente inviato da TommyGun
    Non esattamente, la applet la stò richiamando in questo modo:

    window = new JFrame("Test Applet");
    window.setContentPane(theApplet);

    è solo un modo per testarla...
    Non esattamente cosa .... theApplet è una variabile a cui hai assegnato l'oggetto della applet .... che hai istanziato tu?
    Allora lo ripeto: non diventa una "applet" nel vero senso del termine.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5

    Re: Re: Re: Re: Parametri e Applet

    Originariamente inviato da andbin
    Non esattamente cosa .... theApplet è una variabile a cui hai assegnato l'oggetto della applet .... che hai istanziato tu?
    Allora lo ripeto: non diventa una "applet" nel vero senso del termine.

    Scusami per il ritardo ero senza internet...
    Il "non esattamente" era solo rivolto al metodo con cui
    andavo a richiamare la applet, cioè non attraverso un button ma includendolo
    all'interno di un JFrame.
    Per quanto riguarda l'istanziazione della classe della applet, hai
    ragione tu, sai dirmi in termini pratici cosa cambia rispetto all'usuale
    chiamata della applet? Che cosa mi consigli di fare per testarla senza un modulo web?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: Re: Re: Parametri e Applet

    Originariamente inviato da TommyGun
    Per quanto riguarda l'istanziazione della classe della applet, hai
    ragione tu, sai dirmi in termini pratici cosa cambia rispetto all'usuale
    chiamata della applet? Che cosa mi consigli di fare per testarla senza un modulo web?
    Una applet che è davvero tale, cioè che "gira" in una pagina web viene gestita dal plug-in all'interno del browser.
    Avendo il nome della classe (dall'attributo code="....."), la classe della applet viene caricata dinamicamente e poi istanziata tramite reflection.
    Ma il punto è che per essere una "vera" applet il container gli passa "qualcosa" che gli fornisce il "contesto". E mi riferisco ad un oggetto che implementa java.applet.AppletStub, che viene passato alla Applet tramite il suo metodo setStub.

    Se vai a vedere, AppletStub fornisce diverse cose, tra cui i parametri e altro. Tecnicamente nessuno ti vieterebbe di implementare un tuo AppletStub ma dovresti ragionare su diverse cose. Primo: cosa sono nel tuo ambiente "non-vera-applet" il code-base e il document-base e secondo, sopratutto, che cosa è il AppletContext, che dubito tu riesca ad implementare in tutti i suoi aspetti.

    Motivo per cui dubito che tu riesca a fornire alla tua istanza della applet (non "vera" applet) tutto il "contesto" che gli servirebbe per funzionare davvero come funziona nel browser.

    E a parte questo, dovresti "mimare" esattamente il ciclo di vita della applet, ovvero invocando a tempo debito i metodi init/start/stop/destroy.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7

    Re: Re: Re: Re: Re: Re: Parametri e Applet

    Originariamente inviato da andbin
    Una applet che è davvero tale, cioè che "gira" in una pagina web viene gestita dal plug-in all'interno del browser.
    Avendo il nome della classe (dall'attributo code="....."), la classe della applet viene caricata dinamicamente e poi istanziata tramite reflection.
    Ma il punto è che per essere una "vera" applet il container gli passa "qualcosa" che gli fornisce il "contesto". E mi riferisco ad un oggetto che implementa java.applet.AppletStub, che viene passato alla Applet tramite il suo metodo setStub.

    Se vai a vedere, AppletStub fornisce diverse cose, tra cui i parametri e altro. Tecnicamente nessuno ti vieterebbe di implementare un tuo AppletStub ma dovresti ragionare su diverse cose. Primo: cosa sono nel tuo ambiente "non-vera-applet" il code-base e il document-base e secondo, sopratutto, che cosa è il AppletContext, che dubito tu riesca ad implementare in tutti i suoi aspetti.

    Motivo per cui dubito che tu riesca a fornire alla tua istanza della applet (non "vera" applet) tutto il "contesto" che gli servirebbe per funzionare davvero come funziona nel browser.

    E a parte questo, dovresti "mimare" esattamente il ciclo di vita della applet, ovvero invocando a tempo debito i metodi init/start/stop/destroy.
    Grazie per la tua precisa risposta, ne deduco che non esiste un modo (immediato) per settare un parametro della applet in assenza di un modulo web. Vero?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: Re: Re: Re: Re: Parametri e Applet

    Originariamente inviato da TommyGun
    Grazie per la tua precisa risposta, ne deduco che non esiste un modo (immediato) per settare un parametro della applet in assenza di un modulo web. Vero?
    È il AppletStub che lo fornisce. Se implementi AppletStub puoi fare in modo che a fronte di una richiesta al suo getParameter fai ritornare il valore del parametro o null. E potresti implementarlo con una mappa interna, oppure con valori "cablati" nel sorgente con test altrettanto "cablati" sui nomi, ecc...

    Il problema non sarebbe certo implementare getParameter .... ma il resto!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9

    Re: Re: Re: Re: Re: Re: Re: Re: Parametri e Applet

    Originariamente inviato da andbin
    ... potresti implementarlo con una mappa interna ...
    Scusami ma a questo punto la curiosità è d'obbligo! Cosa intendi in termini pratici?
    Come si può implementare quello che dici?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: Re: Re: Re: Re: Re: Re: Parametri e Applet

    Originariamente inviato da TommyGun
    Scusami ma a questo punto la curiosità è d'obbligo! Cosa intendi in termini pratici?
    Come si può implementare quello che dici?
    Così, ad esempio:

    codice:
    public class MioAppletStub implements AppletStub {
        private Map<String,String> mappaParametri;
    
        public MioAppletStub() {
            mappaParametri = new HashMap<String,String>();
        }
        
        public void putParametro(String nome, String valore) {
            mappaParametri.put(nome, valore);
        }
        
        
        // implementato per AppletStub
        public String getParameter(String name) {
            return mappaParametri.get(name);    // banale!
        }
    
        // .... altri metodi di AppletStub, qui è il problema
    }
    codice:
    MioAppletStub mioAppStub = new MioAppletStub();
    mioAppStub.putParametro("BLABLA", "1234");
    
    tuaApplet.setStub(mioAppStub);
    La applet non "sa" niente (e non deve saperlo) di come è implementato il AppletStub, quello che le importa è che lo stub ha un metodo getParameter che risponde a "dammi il parametro X". Come fa il AppletStub a rispondere spetta solo a lui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.