Ciao a tutti! Io ho questa applet java (è un visualizzatore di immagini, selezionando un nome dall'elenco e premendo il tasto visualizza appare sotto l'immagine corrispondente):
import java.awt.*;
import java.applet.*;
public class Immagine extends Applet {
Image img[] = new Image[16];
Image imgCorr; // immagine correntemente visualizzata
Image imgNulla; // immagine vuota (bianca)
List elenco;
public void init() {
int i;
String nomefile[] = { "Im1.jpg", "Im2.jpg", "Im3.jpg",
"Im4.jpg", "Im5.jpg", "Im6.jpg",
"Im7.jpg","Im8.jpg","Im9.jpg","Im10.jpg","Im11.jpg ","Im12.jpg",
"Im13.jpg","Im14.jpg","Im15.jpg","Im16.jpg"};
for (i=0; i<img.length; i++)
img[i] = getImage(getCodeBase(),nomefile[i]);
imgNulla = getImage(getCodeBase(),"vuota.jpg");
imgCorr = imgNulla;
elenco = new List(16,false);
elenco.addItem("1");
elenco.addItem("2");
elenco.addItem("3");
elenco.addItem("4");
elenco.addItem("5");
elenco.addItem("6");
elenco.addItem("7");
elenco.addItem("8");
elenco.addItem("9");
elenco.addItem("10");
elenco.addItem("11");
elenco.addItem("12");
elenco.addItem("13");
elenco.addItem("14");
elenco.addItem("15");
elenco.addItem("16");
add(elenco);
add(new Button("Visualizza"));
add(new Button("Cancella"));
}
public boolean action(Event evt, Object arg) {
String scelto = (String) arg;
int n;
if (evt.target instanceof Button) {
if (scelto=="Visualizza") {
n = elenco.getSelectedIndex();
imgCorr = img[n];
repaint();
}
if (scelto=="Cancella") {
imgCorr = imgNulla;
repaint();
}
}
return true;
}
public void paint(Graphics g) {
g.drawImage(imgCorr,150,50,this);
}
}
Inizialmente avevo solo 7 immagini e quindi elenco di 7 elementi e tutto funzionava perfettamente! Ora io ho l'esigenza di portare l'elenco a 16 elementi per vedere 16 immagini...ma così l'applet non mi si apre più e mida il seguente errore:
java.lang.ArrayIndexOutOfBoundsException:7
(in realtà con l'appletviewer funziona, ma non parte nella pagina htm)! Cosa ho combinato???
Inoltre potreste darmi una mano a modificare la posizione dove deve comparire l'immagine (io vorrei avere l'elenco con sotto i tasti e poi a destra l'immagine...è possibile???
Si può modificare anche lo sfondo dell'applet secondo voi???
Grazie a tutti!!!