Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    6

    [Java-gwt] gestione tasti back e forward del browser

    Ciao a tutti!!

    ho bisogno di una mano da coloro che hanno qualche esperienza nell'utilizzo di Google Web Toolkit.

    Ho creato una semplice applicazione composta da 3 pagine principali:
    -home (token "")
    -login (token "login")
    -schedaPersonale (token "scheda")

    passo dalla prima alla seconda attraverso un hyperlink, e creo il token "scheda" con la funzione History.newItem().

    Vorrei riuscire a passare da una pagina all'altra con i tasti del browser, ma nn riesco!!

    ho aggiunto un historyListener, ma non so come scrivere il metodo OnHistoryChanged(String historyToken). La mia versione non funziona affatto, ma per ora non mi vengono altre idee...

    public void onHistoryChanged(String historyToken){
    if(historyToken ==""){
    RootPanel.get().clear();
    RootPanel.get().add(home.panel) }
    if(historyToken =="login"){
    RootPanel.get().clear();
    RootPanel.get().add(login.panel) }
    if(historyToken ==""){
    RootPanel.get().clear();
    RootPanel.get().add(sheda.panel) }
    }

    ...questo codice è sicuramente sbagliato...ma non capisco dove!!

    ringrazio tutti in anticipo...
    buona serata!

  2. #2
    Ciao....penso che l'errore fosse nel porre == per verificare l'uguaglianza tra string..... questo dovrebbe funzionare attenzione ai pakage, mi raccomando continua a programmare e fammi sapere se hai altri problemi

    package com.client;

    import com.google.gwt.core.client.EntryPoint;
    import com.google.gwt.user.client.History;
    import com.google.gwt.user.client.HistoryListener;
    import com.google.gwt.user.client.ui.Hyperlink;
    import com.google.gwt.user.client.ui.Label;
    import com.google.gwt.user.client.ui.AbsolutePanel;
    import com.google.gwt.user.client.ui.RootPanel;

    public class HistoryEntry implements EntryPoint,HistoryListener {

    private Label lbl = new Label();
    final AbsolutePanel ap1 = new AbsolutePanel();
    final AbsolutePanel ap2 = new AbsolutePanel();
    final AbsolutePanel ap3 = new AbsolutePanel();

    public void onModuleLoad() {
    // TODO Auto-generated method stub
    String initToken = History.getToken();

    Hyperlink link0 = new Hyperlink("link to foo", "foo");
    Hyperlink link1 = new Hyperlink("link to bar", "bar");
    Hyperlink link2 = new Hyperlink("link to baz", "baz");
    RootPanel.get().add(ap1);
    ap1.add(link1);
    ap2.add(link2);
    ap3.add(link0);
    onHistoryChanged(initToken);
    History.addHistoryListener(this);
    }
    public void onHistoryChanged(String historyToken)
    {

    if(historyToken.equals("foo"))
    {
    RootPanel.get().clear();
    RootPanel.get().add(ap2);
    }
    if(historyToken.equals("bar"))
    {
    RootPanel.get().clear();
    RootPanel.get().add(ap3);
    }
    if(historyToken.equals("baz"))
    {
    RootPanel.get().clear();
    RootPanel.get().add(ap1);
    }
    lbl.setText("The current history token is: " + historyToken);
    }

    }

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    6
    Grazie mille....
    il problema era proprio quello!!
    ...dopo un pò di smanettamenti ero riuscita a risolvere....
    magari il tuo post così chiaro fosse arrivato un pò prima :P

    sei stato veramente gentile...alla prossima!
    La

  4. #4
    Ciao scusami per il ritardo, ma solo oggi ho visto il tuo post...comunque sto sviluppando un'applicazione usando le gwt, se ho qualke pbm da oggi ti contatterò...e se riesco a risolvere qualche tuo problema, se ne avessi, sarà ancora meglio...ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    6
    ciao!
    scusa il ritardo...
    guarda...io ho usato gwt solo per poco tempo...non è che son diventata troppo esperta...però nel caso tu chiedi pure!!
    buon week end!

  6. #6
    Utente di HTML.it L'avatar di Stefy
    Registrato dal
    Jul 2005
    Messaggi
    18
    Salve! Riesumo questo topic perchè mi sono imbattuta in un esempio simile a quello trattato qui, ma non ho capito come "linkare" nel pannello un'applicazione diversa (un'istanza di un'altra classe), e quindi, ad esempio,
    sostituire ad RootPanel.get().add(ap2);
    RootPanel.get().add(new Login()) // so che questo codice è sbagliato, ma cerco qualcosa che faccia un collegamento con un'altra pagina.
    Non so se sono stata abbastanza chiara, se per aiutarmi vi servono altre informazioni sono qui!
    grazie in anticipo

  7. #7
    Ciao...devi essere un po' più precisa...io sono un po' digiuno con le gwt...però da quel che ricordo l'esempio che ho riportato dovrebbe essere abbastanza chiaro per il tuo caso...ricordo cmq che con le gwt non è possibile inserire le anchor a link esterni alla tua applicazione (a meno di usare librerie non ufficiali), mentre per link interni (al dominio dell'applicazione) l'esempio riportato racchiude tutti i casi...se spieghi un po' meglio quello che vuoi fare sarà più facile aiutarti...ciao ciao

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Capisco la frenesia... ma a ciascuna discussione il proprio argomento: non è consentito parlare di un argomento diverso all'interno di una discussione.

    Questa discussione tratta dell'argomento relativo alla gestione dei tasti "back" e "forward" del browser. Qualunque altra problematica richiede l'apertura di una discussione separata.

    Ho creato una discussione separata: vedi qui.

    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

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.