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

    [java] azione avanti e indietro dei bottoni

    devo fare una JFrame con 10 immagini e 2 bottoni avanti e indietro che fatto scorrere le immagini
    ho impostato la grafica e fin qui tutto ok, ho inserito le classi che dovrebbero far andare avanti e indietro le immegini con le relative didascalie ma non mi funziona e non capisco dove sbaglio
    c'è qualcuno di così gentile da darci un occhiata????
    qui di seguito il codice GRAZZZZIIIIEEE

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class Progetto1207 extends JFrame {

    //le dichiarazioni private
    private JButton b1;
    private JButton b2;
    private JLabel etichetta;
    private JPanel pannello;
    //inserisco due pannelli in cui inserire i bottoni
    private Box boxindietro;
    private Box boxavanti;
    private ImageIcon fotostart;
    private JLabel didascalia;
    private JLabel etichetta2;
    private String[] [] immagini ={
    {"foto1.jpg", "foto1"},
    {"foto2.jpg", "foto2"},
    {"foto3.jpg", "foto3"},
    {"foto4.jpg", "foto4"},
    {"foto5.jpg", "foto5"},
    {"foto6.jpg", "foto6"},
    {"foto7.jpg", "foto7"},
    {"foto8.jpg", "foto8"},
    {"foto9.jpg", "foto9"},

    };
    private int FOTO;
    private int indice;

    public Progetto1207 (){

    //definiamo gli elementi
    setTitle("..::::::GALLERIA DI IMMAGINI:::::..");


    b1=new JButton("<<");
    b1.setBackground(new Color(250, 170,2));
    b1.addActionListener(new AL());
    b2=new JButton(">>");
    b2.setBackground(new Color(250, 170,2));
    b2.addActionListener(new AL());
    etichetta=new JLabel("Gustav Klimt", SwingConstants.CENTER );
    etichetta.setFont(new Font("Verdana", Font.BOLD, 14));
    fotostart=new ImageIcon ("foto0.jpg");
    etichetta2=new JLabel(fotostart);
    didascalia=new JLabel("FAGGETO, 1902 Gemäldegalerie Dresda", SwingConstants.CENTER);
    didascalia.setFont(new Font ("Verdana", Font.ITALIC, 12));
    didascalia.setForeground(Color.red);
    didascalia.setText(immagini[0] [1]);
    this.etichetta2=new JLabel(new ImageIcon( Toolkit.getDefaultToolkit().createImage(fotostart[indice] [0])));

    //definisco i pannelli per i bottoni e vi aggiungo i bottoni
    boxindietro = new Box(BoxLayout.Y_AXIS); // crea box verticale
    boxindietro.add(Box.createVerticalStrut(275));
    boxindietro.add(b1);
    boxavanti = new Box(BoxLayout.Y_AXIS); // crea box verticale
    boxavanti.add(Box.createVerticalStrut(275));
    boxavanti.add(b2);






    //definisco il pannello e vi inserisco gli elementi
    pannello=new JPanel();
    getContentPane().setLayout(new BorderLayout());
    //coloro lo sfondo dell pannello di bianco
    getContentPane().setBackground(Color.orange);
    getContentPane().add(etichetta, BorderLayout.NORTH);
    getContentPane().add(boxindietro, BorderLayout.WEST);
    getContentPane().add(boxavanti, BorderLayout.EAST);
    getContentPane().add(etichetta2, BorderLayout.CENTER);
    getContentPane().add(didascalia, BorderLayout.SOUTH);

    pack();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    }

    public static void main (String args[]) {
    new Progetto1207();

    }
    class AL implements ActionListener {
    public void actionPerformed(ActionEvent e) {

    JButton comando = (JButton) e.getSource();

    if (comando.equals(b2)) {

    //è stato premuto il pulsante avanti
    visualizzaProssimaFoto();
    }else{
    visualizzaFotoPrecedente();
    }

    //cambiamo didascalia

    didascalia.setText(immagini[indice] [1]);
    }

    private void visualizzaProssimaFoto() {

    //controllo ch enon sia già visualizzata l'ultimafoto
    if(indice <(FOTO - 1)) {

    indice++;
    disegnaFoto(indice);
    }else{

    indice = 0;
    }
    }

    private void visualizzaFotoPrecedente() {

    //controllo che non sia visualizzata la prima foto
    if (indice>0) {
    indice--;
    disegnaFoto(indice);
    }
    }
    private void disegnaFoto(int indice) {

    //disegnamo la foto indicata dall'indice

    Image img = Toolkit.getDefaultToolkit().createImage(immagini[indice] [0]);
    //la visualizziamo
    this.image.setIcon( new ImageIcon( Toolkit.getDefaultToolkit().createImage(immagini[indice] [0]) ) );
    }
    }

    }
    *silvia*

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ti ho mandato la mail con il codice modificato.

    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

  3. #3
    Ciao a tutti! Non è che me lo potresti mandare anche a me vero?perchè ho lo steso problema.Quando schiaccio avanti mi compare la nuova didascalia ma non mi compare la foto e non capisco dove sbaglio!
    Devo fare anche io una galleria di immagini per una tesina e mi servirebbe urgentissimamente! Vi ringrazio in anticipo.
    PLEASE help!!

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

    Moderazione

    Discussione del 2004.

    Non risollevare le discussioni morte da tempo.

    Chiudo questa.
    "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
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    chiuso davvero??
    RTFM Read That F*** Manual!!!

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da valia
    chiuso davvero??
    "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.