PDA

Visualizza la versione completa : [java] errore nell'applicazione


Ugly
08-10-2004, 15:35
Sono nuovo in questa materia e ho fatto gia una mia prima applicazione pero non capisco dov'è l'errore:



import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class immagini extends Applet implements ActionListener {
Image persone[]=new Image[2];
Image attuale;

public void init() {
String file[]={"uno.jpg","due.jpg","tre.jpg"};
for(int x=0; x<persone.length; x++) {
persone[x]=getImage(getCodeBase(),file[x]);
}
attuale=persone[0];
Button pul0=new Button("Uno");
Button pul1=new Button("Due");
Button pul2=new Button("Tre");
pul0.addActionListener(this);
pul1.addActionListener(this);
pul2.addActionListener(this);
add(pul0);
add(pul1);
add(pul2);
}



void mostra(String nome) {
if(nome=="Uno") attuale=persone[0];
if(nome=="Due") attuale=persone[1];
if(nome=="Tre") attuale=persone[2];
repaint();
}

public void paint(Graphics g) {
g.drawImage(attuale,10,40,this);
}

}

Ugly
08-10-2004, 15:37
Scusate è questo il codice...




import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class personaggi extends Applet implements ActionListener {
Image imgpers[]=new Image[5];
Image imgatt;

public void init() {
String file[]={"uno.jpg","due.jpg","tre.jpg","quattro.jpg","cinque.jpg"};
for(int x=0; x<imgpers.length; x++) {
imgpers[x]=getImage(getCodeBase(),file[x]);
}
imgatt=imgpers[0];
Button pul0=new Button("Uno");
Button pul1=new Button("Due");
Button pul2=new Button("Tre");
Button pul3=new Button("Quattro");
Button pul4=new Button("Cinque");
pul0.addActionListener(this);
pul1.addActionListener(this);
pul2.addActionListener(this);
pul3.addActionListener(this);
pul4.addActionListener(this);
add(pul0);
add(pul1);
add(pul2);
add(pul3);
add(pul4);
}



void mostra(String nome) {
if(nome=="Uno") {
imgatt=imgpers[0];
}
else if(nome=="Due") {
imgatt=imgpers[1];
}
else if(nome=="Tre") {
imgatt=imgpers[2];
}
else if(nome=="Quattro") {
imgatt=imgpers[3];
}
else if(nome=="Cinque") {
imgatt=imgpers[4];
}
repaint();
}

public void paint(Graphics g) {
g.drawImage(imgatt,10,10,this);
}
}

cso
08-10-2004, 21:10
a me da questo:


C:\Documents and Settings\Xxxxxxxxx\Desktop\personaggi.java:4: personaggi is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener
public class personaggi extends Applet implements ActionListener {
^
1 error

Procedura completata con codice di uscita 1

Da quello che ho capito la classe personaggi è un'estensione della classe Applet quindi ti da errore perchè non riesce a trovarla. Metti i due file nella stessa directory

MMarzia
08-10-2004, 23:48
ugly, ti inviterei a leggere il ns regolamento (http://forum.html.it/forum/showthread.php?threadid=588640): il linguaggio va sempre specificato, anche nei titoli

cerca di essere più specifico sia per quanto riguarda questi ultimi che la descrizione dei problemi

Angelo1974
09-10-2004, 20:03
Ciao; poiché la classe implementa l'interfaccia ActionListener devi implmentare tutti i metodi di questa interfaccia; altrimenti la classe dovresti dichiararla astratta; l'errore che hai ti dice che la classe non è astratta e non implementa nessuno dei metodi di ActionListener.
Ciao :ciauz:

Salvatore85
09-10-2004, 23:09
Infatti, e precisamente va implementato il metodo actionPerformed() con un oggetto ActionEvent come argomento:



public void actionPerformed(ActionEvent e) {
//istruzioni
}

Ugly
09-10-2004, 23:56
Posto il codice corretto:



import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class personaggi extends Applet implements ActionListener {
Image imgpers[]=new Image[5];
Image imgatt;

public void init() {
String file[]={"uno.jpg","due.jpg","tre.jpg","quattro.jpg","cinque.jpg"};
for(int x=0; x<imgpers.length; x++) {
imgpers[x]=getImage(getCodeBase(),file[x]);
}
imgatt=imgpers[0];
Button pul0=new Button("Uno");
Button pul1=new Button("Due");
Button pul2=new Button("Tre");
Button pul3=new Button("Quattro");
Button pul4=new Button("Cinque");
pul0.addActionListener(this);
pul1.addActionListener(this);
pul2.addActionListener(this);
pul3.addActionListener(this);
pul4.addActionListener(this);
add(pul0);
add(pul1);
add(pul2);
add(pul3);
add(pul4);
}

public void actionPerformed(ActionEvent evt) {
String scelto=evt.getActionCommand();
mostra(scelto);
}

void mostra(String nome) {
if(nome=="Uno") {
imgatt=imgpers[0];
}
else if(nome=="Due") {
imgatt=imgpers[1];
}
else if(nome=="Tre") {
imgatt=imgpers[2];
}
else if(nome=="Quattro") {
imgatt=imgpers[3];
}
else if(nome=="Cinque") {
imgatt=imgpers[4];
}
repaint();
}

public void paint(Graphics g) {
g.drawImage(imgatt,10,10,this);
}
}

Loading