JList

Kenbu

Grünschnabel
Hallo liebe Java Programmierer!

Ich habe ein GUI, bestehend aus JList, JTextArea, JButtons, etc.
Ich möchte dass er mir eine Datei filtert und dann das Resultat
auf die TextArea printed. Dazu muss ich in der JList mehrfach
Selektion können.
Mein Problem ist, dass obwohl ich die textarea auf set.Text("") setze,
dass er das zwar macht aber, nach dem ich ich etwas anderes ausgewählt
habe, mir zu dem Resultat von vorher dazuklebt. Ich denke dass es
daran liegt, dass ich den Array-Inhalt nicht lösche, habe ich recht?
Da ich aber ein Depp in Sachen Arrays bin...wie lösche ich das und wann?

Ich hoffe ihr könnt mir helfen!

Danke im Vorraus!

Hier auch zwei Auszüge aus meinem Code:

Object names[] = list.getSelectedValues();
String name=(String) names[0];
int len=names.length;

und:

for(int j=0;j<len;j++){
buffer.append(line).append(LINE_SEPARATOR);
}
 
Das was und wie du es schreibst verstehe ich zwar nicht ganz vielleicht solltest du dich etwas genauer ausdrücken(keine Kritik nur ne Info zum Verständnis).

Erstmal mit append hängst du immer etwas an. Und wenn du eine Liste (Array) löschen willst dann setze sie einfach null

Java:
Object[] list =null;

das bedeutet nicht das der Inhalt gleich aus dem Speicher verschwindet aber deine Liste ist "leer".
Danach musst du sie natürlich wieder mit

Java:
list =new Object[n];

anlegen.
Wann du dies natürlich machst ist Problemspezifisch!
 
Danke für deine Antwort. Jedoch geht das noch immer nicht.

Also nochmal was ich habe ist das hier:
Object names[] = list.getSelectedValues();
String name=(String) names[0];

ich muss names in ein String Array machen, damit er mir auch auf meine Mehrfachselektion reagiert. Das Problem war, so denke ich, dass er sich anscheinend immer wieder, entweder in names[] oder in name merkt, was ich in der Liste ausgewählt habe.
Mit anderen Worten, wenn ich zum Beispiel in der Liste stehen habe:

Eintrag 1
Eintrag 2
Eintrag 3

und ich auf Eintrag 1 drücke, dann soll er mir auch "Eintrag 1" auf die TextArea ausgeben.
Wenn ich aber jetzt auf Eintrag 3 gehe (der Inhalt der TextArea ist in der zwischenzeit gelöscht) so taucht wieder in der TextArea Eintrag 1 wieder auf und gleich darunter ist die neue Auswahl "Eintrag 3" dazugeklebt worden.
Was ich nicht haben will, ist dass er mir Eintrag 1 in der TextArea dazuschreibt. Nur..wie
soll ich das machen...?
 
Hallo,

ein Tipp von mir wäre mal
Code:
buffer.setLength(0);

Ich schätze mal, dass buffer von StringBuffer ist und eine Klassenvariable.

Du setzt da den Text immer hinten dran. Ich vermute auch, dass du den nicht wieder leerst, bevor du anfängst was zu tun.

MFG

zEriX
 
Zurück