ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
339
339
EMPFEHLEN
-
Hi,
ich bin momentan am tüftel für ein Java Programm, mit welchem ich eine text Datei, ";" getrennt; auslese und die einzelnen Werte abändern kann, sowie neue hinzufügen. das auslesen habe ich nun über den Buffered reader realisiert und ich lege für jede Zeile ein eigenes Objekt meiner Klasse dateilist an & schreibe während dessen ein Feld dieses Objektes in eine Listbox.
Wenn der Prozess, des einlesens, abgeschlossen ist. Möchte ich beim anklicken eines Wertes der Listbox, die nebenstehenden Textfelder mit den dazugehörigen restlichen Informationen aus dem Objekt "füttern", doch leider kennt er dort meine Objekte nicht mehr
und ich weiß nicht wie ich diese veröffentliche sodass ich weiter darauf zugreifen kann, ich hoffe ihr könnt mir helfen.
Meine Klasse, welche die Objekte bildet (ist um Methoden und Variabeln beshcnitten, da es eh imemr das gleiche nur in grün ist)
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
public class dateilist { private String Status; private String Rechnername; private String Inventarnummer; public void setStatus(String Status){ this.Status= Status; } public String getStatus(){ return this.Status; } public void setRechnername(String Rechnername){ this.Rechnername= Rechnername; } }
Datei einlesen
und meine objekt generierungCode :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
public class iofile { public static void ifile() { int Counter = 0; String zeile = null; String[] parts = null; Vector vector = new Vector(); try { BufferedReader in = new BufferedReader(new FileReader("test.txt")); while ((zeile = in.readLine()) != null) { if (!zeile.equals("")) { Counter++; System.out.println(zeile); parts = zeile.split(";"); vector.add(parts[0]); vector.add(parts[1]); vector.add(parts[2]); vector.add(parts[3]); vector.add(parts[4]); vector.add(parts[5]); vector.add(parts[6]); vector.add(parts[7]); fillList(parts[1]); // füllt meine Listbox } } in.close(); } catch (Exception e) { } obj.genobj(vector, Counter); } }
danach möchte ich wenn ich meine listbox, die im hauptklasse ist, anklicke, das die text felder daben die werte de dazugehörigen objektes annehmenCode :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
public class obj { public static void genobj(Vector vector, int counter){ dateilist[] list = new dateilist[counter]; for (int i = 0; i <= list.length - 1; i++) { list[i] = new dateilist(); list[i].setStatus((String) vector.get(i)); list[i].setRechnername((String) vector.get(i + 1)); list[i].setInventarnummer((String) vector.get(i + 2)); list[i].setName((String) vector.get(i + 3)); list[i].setDatum((String) vector.get(i + 4)); list[i].setTyp((String) vector.get(i + 5)); list[i].setCpu((String) vector.get(i + 6)); list[i].setRam((String) vector.get(i + 7)); } } }
zbsp
klicke ich das 1 Item an dann soll der Status daneben aus "list[1|.getStatus;" erfolgen, doch er kennt dies dort nicht mehr
wie gebe ich diese Objekte weiter? bzw wie greife ich da weiter drauf zu.
Vielen Dank & sorry für den vll wirren Text
Martin
-
Hi,
erstmal ne Frage, warum trägst du die Daten aus der Datei nicht direkt in dein Objekt ein? Das wäre erstmal übersichtlicher und leichter.
Dann hättest du eine Liste aus deinen Objekten, die jedoch schon den Inhalt enthalten.
Später kannst du sie ja über das GUI bearbeiten.
Zu deiner schleife
Du gehst zwar in ein neues Listenfeld, aber beim Vektor immer nur einen weiter. Also ist beim nächsten Objekt ist doch dann der eigentliche Status-Wert im Rechnername oder?PHP-Code:for (int i = 0; i <= list.length - 1; i++) {
list[i] = new dateilist();
list[i].setStatus((String) vector.get(i));
list[i].setRechnername((String) vector.get(i + 1));
list[i].setInventarnummer((String) vector.get(i + 2));
list[i].setName((String) vector.get(i + 3));
list[i].setDatum((String) vector.get(i + 4));
list[i].setTyp((String) vector.get(i + 5));
list[i].setCpu((String) vector.get(i + 6));
list[i].setRam((String) vector.get(i + 7));
}
-
Hey,
ja das ist eine gute Frage, habs mal geändert so das ich die Werte direkt in die Objekte schreibe
danke für den Hinweis.
jedoch bleibt meine eigentliche Fragestellung bestehn, angenommen ich drücke einen Button auf meiner GUI und dieser Button soll meine Labels aktualisieren, dann mach ich das ja normalerweise mitdoch wie gebe ich dieser funktion mein objekt - bsp. list[3]- bekannt, sodass ich den Wert für das Label daher entnehmen kann?Code :1
meinlabel.setName(hier muss mein objekt aufruf hin)
-
Hi,
dort wo du deine Label beschriften möchtest, könntest du es so machen:
Code java:1 2 3 4 5
public static dateilist[] ifile() { //hier lädst du deine Daten aus der File in die Objekte und speicherst diese in der dateilist[] return dateilist; // also deine komplette Liste mit gefüllten Objekten }
mit z.B. dem folgenden-Code könntest du die Werte in dein lable packen:
Code java:1 2 3 4 5
dateilist[] list = iofile.ifile(); // Liste laden // Label bezeichnen meinlabel.setName(list[i]); meinlabel2.setName(list[i]);
(Ich persönlich würde Klassennamen immer Groß schreiben, sonnst kann man echt durcheinander kommen, wenn Variablen auch so heissen.)
MFG
-
Hey,
danke dir das klappt soweit, aber eine verständnisfrage habe ich noch, erzeuge ich dadurch nicht immer wieder ne neue Instanz des jeweiligen Objektes?
gruß
Martin
-
Hi,
also du erzeugst nur eine neue Instanz, wenn du mit new ObjectName() arbeitest.
in der Variable wird eine referenz auf dieses Objekt gespeichert, also sozusagen eine Adresse im Speicher an dem das Objekt abgelegt ist.
In der Liste sind somit die Referenzen gespeichert, mit der du das angelegte Objekt erreichen und z.B. die Werte abfragen kannst.
Code java:
Evtl. hier noch mal nachlesen
mfg
Ähnliche Themen
-
C# Klassen und Objekte weiterreichen
Von Cortadillo im Forum .NET CaféAntworten: 5Letzter Beitrag: 01.06.07, 15:18 -
MouseEvent weiterreichen
Von slang im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 1Letzter Beitrag: 02.06.06, 01:49 -
formulardaten per link weiterreichen
Von webraccoon im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 26.10.04, 23:53 -
Email-Adresse per URL weiterreichen
Von Pollux im Forum PHPAntworten: 2Letzter Beitrag: 30.11.02, 16:16 -
Value über Frames weiterreichen
Von ctac im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 18.01.02, 13:29





Zitieren
Login





