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

    [java] applet slideshow di immagini

    salve a tutti
    come si fa a fare un applet che sia uno slideshow di immagini dove cliccando un bottone avanti cambia immagine e il testo della didascalia dell'immagine e poi cliccando lo stesso bottone avanti cambia di nuovo imagine e il testo della didascalia dell'immagine e cliccando il bottone indietro si torna all'immagine di prima?

    oppure è più facile se ci sono tanti bottoni quante sono le fotografie e cliccando sul bottone cambia immagine e didascalia?

    come si fa quella che tra le due vi sembra la più facile?

    vi ringrazio in anticipo per l'attenzione
    cari saluti silvia
    *silvia*

  2. #2
    Per me sono due soluzioni valide allo stesso modo! Io lo risolverei facendo un array di tante immagini quante ne vuoi mettere e così per le didascalie,e poi usare un contatore che visualizza l'immagine di cobtatore e la didascalia di contatore,e poi se ad esempio viene premuto il pulsante il contatore avenza e quindi dopo visualizzarà l'immagine e didascalia succesiva e così se schiacci il pulsante indietro! invece se vuoi fare tanti pulsanti è circa la stessa cosa, assegni a ogni pulsantante unn numero che poi quando verrà schiacciato farà riferimento all'array di immagini e didascalie!
    Questa è una spiegazione molto a grandi linee, ma poi va messa in pratica!
    Ciao spero di esserti stato utile!!!!

  3. #3
    ops forse non ho precisato nel dire che sto studiando info per un esame e sono qualcosa di più che una princiapiante :-)
    quindi non ho capito molto :-)
    che comando dovrei dare al pulsante?
    *silvia*

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Le due soluzioni sono di pari grado di difficoltà... ovviamente la prima soluzione (2 pulsanti, "Avanti" e "Indietro") è da preferirsi, perchè ti dà più flessibilità se il numero di immagini cambia.

    Vediamo, quindi, di fare un po' di luce su come impostare la cosa:

    1) Creare un array bidimensionale di String dove mettere i nomi di tutte le immagini che si intende visualizzare e le relative didascalie;

    2) Creare i due pulsanti "Avanti" e "Indietro" e far sì che alla pressione di uno di questi due pulsanti venga incrementato o decrementato un determinato indice (facendo gli opportuni controlli, per evitare lo sconfinamento dell'array);

    3) Visualizzare quindi l'immagine rappresentata dal valore contenuto nell'array di prima alla posizione specificata dall'indice.

    Un po' di codice esemplificativo:
    codice:
    // Creiamo l'array con i nomi delle immagini e le didascalie:
    private String [][] immagini = { {"immagine1.gif", "didascalia immagine 1"},
                                     {"immagine2.gif", "didascalia immagine 2"},
                                     ...
                                   };
    
    // Abbiamo bisogno di un indice globale:
    private int indice;
    ...
    // Creiamo i due pulsanti
    JButton cmdAvanti = new JButton("Avanti");
    JButton cmdIndietro = new JButton("Indietro");
    
    // Creiamo la didascalia
    JLabel lblDidascalia = new JLabel();
    
    // Diciamo ai pulsanti cosa fare (questa classe fa da ActionListener)
    cmdAvanti.addActionListener(this);
    cmdIndietro.addActionListener(this);
    ...
    public void actionPerformed(ActionEvent ae) {
       JButton comando = (JButton) ae.getSource();
       if (comando.equals(cmdAvanti)) {
          // E' stato premuto il pulsante avanti
          visuailzzaProssimaFoto();
       } else {
          // E' stato premuto il pulsante indietro
          visualizzaFotoPrecedente();
       }
    }
    
    private void visualizzaProssimaFoto() {
       // Controlliamo che non sia già visualizzata l'ultima foto
       if (indice < (NUMERO_FOTO - 1)) {
          indice++;
          disegnaFoto(indice);
       }
    }
    
    private void visualizzaFotoPrecedente() {
       // Controlliamo che non sia visualizzata la prima foto
       if (indice > 0) {
          indice--;
          disegnaForo(indice);
       }
    }
    
    private void disegnaFoto(int indice) {
       // Qui ci occupiamo di disegnare a video la foto indicata dall'indice
       Image img = Toolkit.getFedaultToolKit().createImage(immagini[i][0]);
       ... // la visualizziamo
    
       // Cambiamo la didascalia
       lblDidascalia.setText(immagini[i][1]);
    }
    Questo dovrebbe essere, a grandi linee, il corpo della classe di cui hai bisogno. Ho tralasciato i dettagli della visualizzazione delle immagini, se ti servono delucidazioni chiedi pure.


    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

  5. #5
    mitico
    adesso provo a costruirmelo a studiarmi quello che mi hai scritto tu e ad aggiungere quello che manca
    e poi ti faccio sapere o vedere grazie mille
    ciao a presto
    *silvia*

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ma non c'è di che!

    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.