Hallo ich will eine Art Memory Spiel erzeugen. Bei einem klick auf den Button soll das dahinter liegende Textfeld sichtbar werden (später wird dieses durch ein Image ersetzt).
Jedoch wird entweder folgender Fehler:
oder
wenn ich statt new TextField[i] - new TextField[19] angebe.
Wie kann ich diesen Fehler beheben?
Jedoch wird entweder folgender Fehler:
Code:
java.lang.ArrayIndexOutOfBoundsException: 0
at Raetsel_02.darstellung(Raetsel_02.java:42)
at Raetsel_02.init(Raetsel_02.java:23)
at sun.applet.AppletPanel.run(AppletPanel.java:353)
at java.lang.Thread.run(Thread.java:534)
Code:
java.lang.ArrayIndexOutOfBoundsException: 0
at Raetsel_02.darstellung(Raetsel_02.java:42)
at Raetsel_02.init(Raetsel_02.java:23)
at sun.applet.AppletPanel.run(AppletPanel.java:353)
at java.lang.Thread.run(Thread.java:534)
Code:
// Autor: Nico Litschke
// Datum: 09.12.2004
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Raetsel_02 extends Applet{
// Anfang Variablen
int ASpalte = 20, AZeile = 20, i, j;
TextField[] tfAusgabe;
Button[] button;
// Ende Variablen
public void init () {
setLayout(null);
setBackground(Color.yellow);
setSize(420,600);
// Anfang Komponenten
for(int j=0; j <= 4; j++){
for(int i=0; i <= 3; i++){
darstellung();
if (i<3){
ASpalte += 100;
}
else{
ASpalte = 20;
}
}
AZeile += 100;
}
// Ende Komponenten
}
// Anfang Ereignisprozeduren
private void darstellung(){
Font font = new Font("MS Sans Serif", 1, 40);
tfAusgabe = new TextField[19];
tfAusgabe[i].setVisible(false);
tfAusgabe[i].setBackground(Color.lightGray);
tfAusgabe[i].setEditable(false);
tfAusgabe[i].setFont(font);
tfAusgabe[i].setBounds(ASpalte,AZeile,80,80);
add(tfAusgabe[i]);
button = new Button[i];
button[i].setLabel("hite");
button[i].setBackground(Color.lightGray);
button[i].setFont(font);
button[i].setVisible(true);
button[i].setBounds(ASpalte,AZeile,80,80);
button[i].addActionListener (new ActionListener () {
public void actionPerformed (ActionEvent evt) {
buttonActionPerformed (evt);}});
add(button[i]);
}
public void buttonActionPerformed (ActionEvent evt) {
tfAusgabe[i].setVisible(true);
button[i].setVisible(false);
}
// Ende Ereignisprozeduren
}