Inhalt Jeiner List speichern und später ausgeben

Xerxes20

Mitglied
Hallo,

ich habe da ein kleines Problem und brauche wiedermal eure Hilfe:

Mir fehlt allgemein die Idee dazu:

Ich habe eine ArrayList mit Objekten. Diese bestehen aus Namen und aus den Inhalten einer JList. Das Problem wie ordne ich einem Objekt mehrere Objekte zu?

Ich habe mir zwar gedacht einfach den ganzen Inhalt der JList zu kopieren und dem Objekt zu geben, aber später wenn ich das Objekt aufrufe und den Inhalt in einer JList ausgeben will, dann würde er das warscheinlich nur in eine Zeile packen :(
 
Du hast Objekte mit einem Namen und einer JList. Wozu ist denn diese? Wenn diese dazu gedacht ist, mehere Objekte zu enthalten, versteh ich das Problem nicht ganz?
 
Also mein objekt soll die Elemente die in der JList eingefügt werden enthalten und später ausgeben können undzwar genau in der Reihenfolge wie sie eingegeben wurden. Jetzt dachte ich mir, einfach die JList als String abspeichern und ausgeben.

Das Problem:

Beim ausgeben wird er warscheinlich das ganze was als String abgespeichert wurde in der ersten Zeile anzeigen!
 
Hallo,

Sind deine Objekte oder die Listen fest vorgegeben?

Wenn die Listen fest sind könntest du in den Objekten (Arraylist) eine Children liste erstellen welche die Objekte (Jlist) kennt die dem Zugeordnet sind.

Sind die Objekte Fest aber die Listen nicht würde ich einen JTree Vorschlagen, da gibt es Parent und Children dem Parent kannst du children zuweisen was der Zuordnung gleich kommt wie du sie haben willst.
 
Also mein objekt soll die Elemente die in der JList eingefügt werden enthalten und später ausgeben können undzwar genau in der Reihenfolge wie sie eingegeben wurden. Jetzt dachte ich mir, einfach die JList als String abspeichern und ausgeben.

Das Problem:

Beim ausgeben wird er warscheinlich das ganze was als String abgespeichert wurde in der ersten Zeile anzeigen!

achso bei der ausgabe müsstest du doch nur sagen das element x von der liste ausgegeben werden soll also etwas wie
Code:
foreach (Element element : MeineListe){
   System.out,println(element);
}
 
hmm, nee sowas hatten wir leider noch nicht (java anfänger :()

Was ich mir überlegt habe ist:

Eine ArrayList in den Konstruktor des Objekts zu machen die dann befüllt wird mit dem Inhalt der JList, allerdings, weiß ich nicht wie ich, wenn ich ein leeres neues Objekt erstellen will an der stelle der ArrayList hinschreiben soll.

Also ich habs mir so vorgestellt:

Objekt (Strin,ArrayList)

was schreibe ich wenn ich ein neues leeres erzeugen möchte?

Object ob = new Object("",********)

da liegt mein Problem!
 
achso bei der ausgabe müsstest du doch nur sagen das element x von der liste ausgegeben werden soll also etwas wie
Code:
foreach (Element element : MeineListe){
   System.out,println(element);
}

Also die JListe besteht sagen wir mal aus:

HALLO
ICH
MAG DICH
GERNE

Wenn ich das als String abspeichere und dann in eine neue JList ausgeben möchte, macht er warscheinich:

HALLOICHMAGDICHGERNE

das ist das Problem!
 
Also die JListe besteht sagen wir mal aus:

HALLO
ICH
MAG DICH
GERNE

Wenn ich das als String abspeichere und dann in eine neue JList ausgeben möchte, macht er warscheinich:

HALLOICHMAGDICHGERNE

das ist das Problem!

Nein das wird er so nicht machen, weil es immer noch einzelne elemente in der Liste sind.
wenn du ohne weitere behandlung der liste die ausgabe machst wird es so aussehen
HALLO ICH MAG DICH GERNE
bin mir gerade nicht sicher ob zwischen die Worte noch ein Trenner kommt oder um die worte eine Klammer

Wenn du änlich wie ich über die Liste gehst wird immer nur ein element aus der liste angefast und nicht alle zusammen.

dann würe es so aussehen
HALLO
ICH
MAG
DICH
GERNE
 
Zuletzt bearbeitet:
Okay können wir dann schritt für schritt vorangehen?

Also dann soll mein Konstruktor doch folgendermaßen aussehen:

Objekt (String,Strings (aus der JList))

so wenn ich das habe wie mache ich weiter?
 
Ich habe mal ein kleines Beispiel gebastelt

Java:
import java.util.ArrayList;

public class ListenBeispiel {
	
	String s1 = "HALLO"; 
	String s2 = "ICH"; 
	String s3 = "MAG";
	String s4 = "DICH";
	String s5 = "GERNE";

	
	public ListenBeispiel() {
		ArrayList<String> liste = new ArrayList<String>();
		
		liste.add(s1);
		liste.add(s2);
		liste.add(s3);
		liste.add(s4);
		liste.add(s5);
		
		MeinObject meinObject = new MeinObject("Gustaf", liste);
		
		meinObject.gebeAllesZusammenAus();
		meinObject.geballesEinzelAus();
	}
	
	public static void main(String[] args) {
		new ListenBeispiel();
	}
	
}

Java:
import java.util.ArrayList;


public class MeinObject {
	
	private ArrayList<String> liste;
	private String s;
	
	public MeinObject(String s, ArrayList<String> liste2) {
		this.s = s;
		this.liste = liste2;
	}
	
	public void gebeAllesZusammenAus(){

		System.out.println(liste);
//		for (int i = 0; i >= liste.; i++){
//			
//		}
	}

	public void geballesEinzelAus(){
		for (String s : liste) {
			System.out.println(s);
		}
	}
	
}

Problem JList wollte eben keine Strings aufnehmen daher habe ich eine ArrayList verwendet.

wenn du die Liste bei der Objekt Erzeugung übergeben willst sollte sie bereits fertig sein!
Alternativ könnte es so aussehen

Java:
import java.util.ArrayList;


public class MeinObject {
	
	private ArrayList<String> liste;
	private String s;
	
	public MeinObject(String s) {
		this.s = s;
		liste = new ArrayList<String>();
	}
	
	public void addstringZuListe(String str){
		liste.add(str);
	}
	
	public void gebeAllesZusammenAus(){

		System.out.println(liste);
	}

	public void geballesEinzelAus(){
		for (String s : liste) {
			System.out.println(s);
		}
	}
	
}
Java:
import java.util.ArrayList;

public class ListenBeispiel {
	
	String s1 = "HALLO"; 
	String s2 = "ICH"; 
	String s3 = "MAG";
	String s4 = "DICH";
	String s5 = "GERNE";

	
	public ListenBeispiel() {
		MeinObject meinObject = new MeinObject("Gustaf");
		
		meinObject.addstringZuListe(s1);
		meinObject.addstringZuListe(s2);
		meinObject.addstringZuListe(s3);
		meinObject.addstringZuListe(s4);
		meinObject.addstringZuListe(s5);
		
		meinObject.gebeAllesZusammenAus();
		meinObject.geballesEinzelAus();
	}
	
	public static void main(String[] args) {
		new ListenBeispiel();
	}
	
}
so kannst du nachträglich elemente an die Liste anfügen


die ausgabe sieht in beiden fällen so aus
[HALLO, ICH, MAG, DICH, GERNE]
für die ausgabe der liste

HALLO
ICH
MAG
DICH
GERNE
für die ausgabe der einzelnen listen inhalte
 
Zuletzt bearbeitet:
Zurück