Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Kein Zugriff auf das Element einer JList möglich: Fehlermeldung
ich möchte in die GUI meines Programms eine JList einfügen, die aktuellen Benutzer anzeigt. Wenn ich aber versuche ein Element in der Liste zu ändern (also den Usernamen zu ändern) zeigt er mir Errors an.
Das ist der Programmcode:
Java:
public String inhalt[] = new String[10];
inhalt[3] = "test";
public JList userGUI = new JList(inhalt);
Hier ist die Fehlermeldung: Compiliere "F:\Schule\Oberstufe\Q2 Informatik\Vier Gewinnt\Client\FirstClientGUI.java" mit Java-Compiler
FirstClientGUI.java:35:10: error: ']' expected
inhalt[3] = "test";
^
FirstClientGUI.java:35:11: error: ';' expected
inhalt[3] = "test";
^
FirstClientGUI.java:35:13: error: illegal start of type
inhalt[3] = "test";
^
FirstClientGUI.java:35:14: error: <identifier> expected
inhalt[3] = "test";
^
Ich habe keine Ahnung woran das liegt, ich hoffe euch ist die Frage nicht zu dämlich.
Danke im Voraus!
Hi,
Ist nicht gerade viel code, den du postest.... aber so wie du es machst, geht das nicht.
Java:
public String inhalt[] = new String[10];
inhalt[3] = "test";
public JList userGUI = new JList(inhalt);
Wo genau erstellst du inhalt[]? in einer Methode oder nicht? (ich denke nicht, da inhalt public ist, hast du ein public String- Array. Eine Instanz von einer Klasse kann nur innerhalb von einem Konstruktor oder in einer Methode erstellt werden. In etwa so:
Java:
public class Test {
public static void main(String[] args) {
String [] inhalt = new String[10];
inhalt[3] = "test";
JList userGUI = new JList(inhalt);
}
}
public class AClass {
public String inhalt[] = new String[10];
inhalt[3] = "test"; // Diese Zeile darf hier nicht stehen
public JList userGUI = new JList(inhalt);
}
Ich nehme an, dein Code steht so in einer Klasse. So wie es aktuell darsteht ist es semantisch falsch. Besser wäre es, wenn du die letzten Beiden Zeilen in den Konstruktor der Klasse verlagerst:
Java:
public class AClass {
public String inhalt[] = new String[10];
public JList userGUI; // nur definieren, aber noch nicht initialisieren
public AClass(){ //Konstruktor
inhalt[3] = "test"; //Zuweisung hier erlaubt
userGUI = new JList(inhalt); // Jetzt initialisieren
}
}