.txt und Jlist

coke189

Mitglied
Moin Leute,

1)
ich hab ein .txt file was folgende daten enthällt:

vorname;nachname;adress;...
vorname;nachname;adress;...
vorname;nachname;adress;...
vorname;nachname;adress;...
...

Und hab hab eine Jlist in der ich gerne von jeder einzelnen zeile im txt file
vorname; nachname haben möchte.

ich habs mit bufferedreader versucht, hat aber nicht geklappt.

2) ich bin schon froh wenn 1) klappen würde, 2) wäre die zugabe :) :
Es wäre cool wenn ich mit der maus etwas in der jlist anklicken könnte:

vorname;nachname
vorname;nachname <-----zB. das hier an
vorname;nachname
vorname;nachname


und dann mit einem Delete Button die ganze zeile aus dem .txt löschen könnte sprich:
vorname;nachname;adress;... <---- deleted.

leider hab ich keinen Plan wie das funktioniert und nach stunden googln bin ich auch nicht schlauer geworden :(

Ich hoffen ihr könnt mir helfen

mfg coke
 

Fab1

Top Contributor
BufferedReader ist doch schon ein guter Ansatz.

Gehe wie folgt vor:
1. Großer Schritt

versuche die .txt File zu lesen also den Text in eine Variable abspeichern
Nun muss jede einzelne Zeile z.B. gesplittet werden (gibt auch andere Möglichkeiten) Methode split() Splitten wäre zum Beispiel beim Semikolon ";" möglich.
Anschließend musst du die gespliteten String-Teil zusammenfügen, je nachdem wie dus haben willst. Diese fügst du dann einfach einer Liste z.B. ArrayList hinzu.

2. Großer Schritt:

GUI erstellen (von Hand/ mit GUI-Builder)
ArrayList deiner JList übergeben
ich würde nur einzelnen Elemente aus der ArrayList löschen und die restl. Elemente wieder in die .txt schreiben, so tut man sich leichter

Natürlich kommt es drauf an, wie gut du in Java bist. Ob du mit ActionListener, GUI etc. umgehen kannst. Aber grundsätzlich gibt es zu allem viele Beispiele, die man letztendlich ja nur zu DEINEM GROßEN programm zusammenstellen muss.

Viel Erfolg.
 

coke189

Mitglied
Okay hier meine Lösung zum ersten Punkt :

Java:
String line = "";
		FileReader fr = new FileReader("\\AdressBuch.txt");
		BufferedReader br = new BufferedReader(fr);
		
        while((line=br.readLine())!=null)
           System.out.println(line);
        Vector<String> lines = new Vector<String>();
        lines.add(line);
		
       
		JList list = new JList(lines);
		list.setBounds(30, 20, 130, 230);
		contentPane.add(list);

In der Konsole bekomme ich das File angezeigt, also funzt der reader, aber ich bekomms nicht in der jList angezeigt ? WIESO ? :D

Zu Punkt 2 bin ich noch nicht bekommen.
 

Fab1

Top Contributor
Das liegt dann wohl an den fehlenden Klammern bei der while-Schleife. Nach dem Semikolon bei der Konsolenausgabe hört bei dir die Schleife auf, bzw. der Schleifendurchgang.

Java:
while(Bedingung)
  {

   }
 

Fab1

Top Contributor
Alles was innerhalb der Schleife, also immer wieder, ausgeführt werden soll.

Java:
Vector<String> lines = new Vector<String>(); //einen Vector erstellen, in den alle Einträge (Zeilen) reinkommen
 while((line=br.readLine())!=null) //jede Zeile lesen
{
           System.out.println(line); //jede Zeile in der Konsole ausgeben
           lines.add(line); //jede Zeile als neuen Eintrag in den Vector schreiben
}

//Vector sollte nun "gefüllt" sein. Diesen könnte man nun übergeben.
 

coke189

Mitglied
Okay hat geklappt :)

Aber ich hab noch eine frage, danach erklärt sich das deleten warscheinlich von selbst :)

Mein Program ist ja so ne Art Adressbuch. Ich hab JTextFields, wo ich meine Daten angebe, wenn ich dann auf save drücke, werden die angegeben daten in ein txt gesaved. die Jlist zeigt mir das txt an und ich kann sehn welche Einträge drin sind.

Wie genau muss ich das jetzt machen, dass zb einen Eintrag (Zeile im txt) deleten/ändern kann, wenn ich mit der maus in der jlist den eintrag auswähle.

also ideal wäre wenn ich mit der maus auf einen eintrag klicke, dass die daten dann wieder in die textfelder rein kommen :)

Das müsste mit einem MouseListener gehen, aber wie genau ist mir nicht klar
 

coke189

Mitglied
Ich habs gestern Abend so hinbekommen :

Java:
final JList list;
		list = new JList(lines);
		
		list.setBounds(30, 20, 130, 230);
		contentPane.add(list);
		MouseListener mouseListener = new MouseListener() {

			@Override
			public void mouseClicked(MouseEvent e) {
				if (e.getClickCount() == 1) {
		            clicked = list.locationToIndex(e.getPoint());
		            
		           
		            
		            System.out.println("Clicked on Item " + clicked);
		        }
			}
			public void mouseEntered(MouseEvent e) {}
			public void mouseExited(MouseEvent e) {}
			public void mousePressed(MouseEvent e) {}
			public void mouseReleased(MouseEvent e) {}
		};
		list.addMouseListener(mouseListener);

Aber die JList wird nicht aktualisiert, da such ich noch was
 

Fab1

Top Contributor
Wenn ich in letzter Zeit nur mehr programmiert hätte...

Das Problem wird sein, dass dein Frame nicht neugezeichnet wird. Hierbei kannst du mal auf deinem JFrame ein validate() repaint() oder revalidate() aufrufen. Glaub aber das erste wars.

[EDIT] Grundsätzlich fehlt bei dir noch die objektorientierung, finde ich fürn Anfang nicht schlimm, aber erwähnen möchte ich es trotzdem. Man könnte zum Beispiel eine Klasse "Eintrag" erstellen, die eben dann die Informationen enthält die bei dir in der .txt stehen. Diese Einträge könnte man dann eben als Objekte in einer Liste z.B. ArrayList verwalten. Dabei würde man sich das ganze hin und herparsen sparen und man kann auch leichter die Daten in deine TextFields laden wie oben beschrieben.[/EDIT]
 
Zuletzt bearbeitet:

coke189

Mitglied
Ich hab ne teil lösung hinbekommen, beim deleten klapps, beim saven arbeite ich noch dran.

Java:
lines.remove(clicked); //löscht den eintrag im Vektor lines
list.updateUI(); //updatet die JList

ich werd mal deinen vorschlag versuchen, ich glaub das ist globaler
danke :) ich sag bescheit obs geklappt hat

Ja stimmt, ich tuh micht noch ein wenig schwer mit den getter und setter methoden, aber wie du schon erwähnt hast, hab ich erst vor wenigen wochen angefangen , werd aber für zukünftige projekte versuchen mehr objektorientiert zu programmieren.

hast du nicht noch einen vorschlag um die textfelder wieder zu füllen ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Mady Daten von JList & Combobox in JTable adden Java Basics - Anfänger-Themen 2
U JList erstellen Java Basics - Anfänger-Themen 2
Soloeco JList/DefaultListModel: Wie kann ich ein Panel hinzufügen? Java Basics - Anfänger-Themen 1
J Objekt bei Auswahl in jList ändern Java Basics - Anfänger-Themen 6
D JList ListSelectionEvent entfernen? Java Basics - Anfänger-Themen 13
F JList Elemente mit Strings vergleichen Java Basics - Anfänger-Themen 12
S Export aus JList Java Basics - Anfänger-Themen 6
M Erste Schritte JList einträge Java Basics - Anfänger-Themen 1
M Erste Schritte Doppelte Ausgabe? (JList) Java Basics - Anfänger-Themen 1
M Erste Schritte Auswahl in einer JList Java Basics - Anfänger-Themen 2
P JList, aus selectedValue bestimmten Wert aus Containerklasse auslesen Java Basics - Anfänger-Themen 4
N JList + DefaultListModel + JScrollPane --> ensureIndexIsVisible funktioniert nicht immer Java Basics - Anfänger-Themen 1
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
J Element zu jList hinzufügen NullPointerExcepetion Java Basics - Anfänger-Themen 2
S jList --> Array einfügen und Liste löschen Java Basics - Anfänger-Themen 5
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
I in listFiles() oder JList Dateiendungen entfernen Java Basics - Anfänger-Themen 14
N Erste Schritte MySQL Tabelle in JList darstellen Java Basics - Anfänger-Themen 1
O JList aktualisieren während Dateieinlesung Java Basics - Anfänger-Themen 4
B JFileChooser und JList Java Basics - Anfänger-Themen 7
OnDemand Enumeration <> JList Java Basics - Anfänger-Themen 5
P Mehrfachauswahl in einer JList Java Basics - Anfänger-Themen 2
A JList Elemente in ein andres JList Adden Java Basics - Anfänger-Themen 5
J Daten in eine JList einfügen Java Basics - Anfänger-Themen 6
A JList / toString modify Java Basics - Anfänger-Themen 2
K jlist an text anpassen Java Basics - Anfänger-Themen 3
D Erste Schritte JList + Checkbox Java Basics - Anfänger-Themen 5
I kein zugriff auf jList oder Textfield Java Basics - Anfänger-Themen 2
A JList bearbeiten Java Basics - Anfänger-Themen 2
M Index einer JList ausgeben Java Basics - Anfänger-Themen 4
M Inhalt/Wert aus einer JList ablesen Java Basics - Anfänger-Themen 5
J Markierte Einträge (Dateien) in JList sollen in einen anderen Ordner verschoben werden. Java Basics - Anfänger-Themen 12
J Markierte Items in einer JLIST in einen Ordner verschieben Java Basics - Anfänger-Themen 2
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
S ListModel - Anzeige im JList Java Basics - Anfänger-Themen 4
H JList Java Basics - Anfänger-Themen 2
G JList Objekte richtig anzeigen in JDK 6 Java Basics - Anfänger-Themen 5
U JList Java Basics - Anfänger-Themen 6
L HashMap zu JList Java Basics - Anfänger-Themen 6
C Input/Output Inhalte von ArrayList und JList in Datei schreiben Java Basics - Anfänger-Themen 5
M Jlist Elemente hinzufügen Java Basics - Anfänger-Themen 2
F Koordinaten JList darstellen Java Basics - Anfänger-Themen 4
M BeanBinding Jlist an Jlabel Java Basics - Anfänger-Themen 2
M GUI JList - Objekte listen u. Feld anzeigen? Java Basics - Anfänger-Themen 16
E JList GUI aktualisieren? Java Basics - Anfänger-Themen 3
JAVAnnik JList Auswahl Java Basics - Anfänger-Themen 2
Z In JList per Doppelklick eine Datei öffnen (z.B. ein PDF) Java Basics - Anfänger-Themen 16
P Jlist + Popupmenu Java Basics - Anfänger-Themen 10
M Properties Eintrag löschen, welcher in der JList "ausgewählt" wurde Java Basics - Anfänger-Themen 2
c_sidi90 File Array an Jlist übergeben Java Basics - Anfänger-Themen 11
J JList Inhalt nach JButton Klick aktualisieren Java Basics - Anfänger-Themen 8
B JList und JTable: leere Zeilen bei listfiles(); Java Basics - Anfänger-Themen 5
N DefaultListModel auf JList sortieren Java Basics - Anfänger-Themen 7
A JList mit Überschrift Java Basics - Anfänger-Themen 2
K Scrollbalken in JList funktioniert nicht Java Basics - Anfänger-Themen 9
B JList wird nicht aktualisiert bzw hat keine Items Java Basics - Anfänger-Themen 2
D JList nicht sichtbar Java Basics - Anfänger-Themen 4
B JList mit Scrollbar? Java Basics - Anfänger-Themen 7
K Datenbindung an JTable, JList, Primärschlüssel verstecken Java Basics - Anfänger-Themen 4
M JList Event Java Basics - Anfänger-Themen 5
M JList Index selektieren ausschalten. Java Basics - Anfänger-Themen 7
M ArrayList<int[]> - Problem mit JList! Java Basics - Anfänger-Themen 27
M JList + ListModel Java Basics - Anfänger-Themen 26
L JList Aktualisieren funktioniert nur Zufällig Java Basics - Anfänger-Themen 3
T JList aktualisieren Java Basics - Anfänger-Themen 12
T alle Ordner in einem Ordner in JList anzeigen Java Basics - Anfänger-Themen 3
R .Jpg anzeigen lassen nach klick in JList Java Basics - Anfänger-Themen 11
F Hilfe! JList Inhalte vertauschen Java Basics - Anfänger-Themen 2
A Eintrag einer JLIST speichern Java Basics - Anfänger-Themen 3
A Anordnung von JList Elementen Java Basics - Anfänger-Themen 3
B JList wird nach Ändern weiß Java Basics - Anfänger-Themen 11
B Einträge im JList einfügen Java Basics - Anfänger-Themen 9
S JList mit icons UND strings für Dialogbox Java Basics - Anfänger-Themen 2
hdi Fehler beim Model-Update einer JList (DefaultListModel) Java Basics - Anfänger-Themen 3
DStrohma Index einer markierten Zeile aus einer JList bekommen? Java Basics - Anfänger-Themen 5
P JList in JPanel anzeigen Java Basics - Anfänger-Themen 2
hdi Synchronisation zwischen JList und ListModel Java Basics - Anfänger-Themen 6
D Suche in JList nach dem ersten Buchstaben Java Basics - Anfänger-Themen 2
hdi JList mit Model und Observer -> Chaos, blicke nicht durch Java Basics - Anfänger-Themen 22
1 JList Problem : Synchronisation mit Vector klappt nicht :( Java Basics - Anfänger-Themen 6
G Elemente aus jList entferne. Java Basics - Anfänger-Themen 2
G JList updaten Java Basics - Anfänger-Themen 7
K jList scrollPane Java Basics - Anfänger-Themen 2
7 Java Swing: Wie JScrollPane zur JList hinzufügen? Java Basics - Anfänger-Themen 12
K JList verschiebt sich Java Basics - Anfänger-Themen 7
G String in JList Java Basics - Anfänger-Themen 11
T Jlist Object hinzufügen Java Basics - Anfänger-Themen 2
B Auslesen der JList Java Basics - Anfänger-Themen 11
S jList Multiple Selection mit Klick Java Basics - Anfänger-Themen 2
M Dateien in einem Ordner, JList Java Basics - Anfänger-Themen 7
G JList größe verändert sich Java Basics - Anfänger-Themen 2
M JList Parameter verschieben Java Basics - Anfänger-Themen 3
C jList - Zeile Markieren - jList.setSelectedIndex(wert); Java Basics - Anfänger-Themen 3
G JList mit LinkedList füllen Java Basics - Anfänger-Themen 2
G JList Mehrfachselektion Java Basics - Anfänger-Themen 6
N 2 spaltige JList, mit dynamischen Inhalt Java Basics - Anfänger-Themen 4
P JList mit setListData(<Vector>) Java Basics - Anfänger-Themen 7
J GUI mit JList Java Basics - Anfänger-Themen 2
N drag and drop mit JList Java Basics - Anfänger-Themen 5
G 1. Buchstabe eines JList eintrages verschieden farbig machen Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben