Textdatei zu JTable

Stephan2009

Aktives Mitglied
Hallo zusammen ich brauch mal einen Tipp und zwar habe ich ein Gui Fenster (unter anderem mit Textfields in denen ich den Autor, Titel und Metadaten eingebe, diese Daten werden in einer Textdatei gespeichert. Nun habe ich eine JTable die diese Form aufweist : (Nummer) , (Foto Feld), (Titel) , (Autor), Bewertungsfeld. Wie ihr seht werden mehr Eingaben in meinem vorherigen Gui gespeichert, es sollen aber in meiner JTable nur die Einträge Titel , Autor und Bewertungsfeld aus der Textdatei dargestellt werden. 1 Frage: Wie filter ich die Einträge am besten aus meiner Txt heraus
2.Wie bekomme ich sie am einfachsten in die JTable
 
Zuletzt bearbeitet von einem Moderator:

neela

Bekanntes Mitglied
wenn du Dateien in einer bestimmte Strukur in dein File speicherst
zB. Autor,Titel,Metadaten

Liest du die Datei zeilenweise ein
und wertest sie dann bsp mit
Java:
String[] elemente = line.split(",");
und mit folgenden Code kannst du dann die Tabelle befüllen
Die Elemente die du nicht benötigst überspringst du dann ganz einfach
Java:
jTab.setValueAt(elemente[i], zeile, spalte);
 

neela

Bekanntes Mitglied
ein tabellenmodel ist angebracht
beispielsweise wenn du feststellst das deine Tabelle voll ist und du neue Zeilen benötigst kannst du sie schnell zufügen
 

Stephan2009

Aktives Mitglied
Java:
try
                {
                File file = new File("neue_bewertung.txt");
                FileReader fr=new FileReader(file);
                BufferedReader br=new BufferedReader(fr);
                String zeile;
                 while((zeile=br.readLine())!=null)
                    {
                    
                    String[] elemente=zeile.split(";");
                    
                    table.setValueAt(elemente[0], 1, 2);
                    table.setValueAt(elemente[3], 1, 3);
                    table.setValueAt(elemente[6], 1, 4);
                    }
                fr.close();
                }
            catch(Exception e)
                {}
Ich habe das jetzt so gemacht aber die Table zeigt nichts an
 
S

SlaterB

Gast
Exceptions immer ausgeben, und ohne Komplettprogramm + Datei kann niemand was dazu sagen,
neben zig Standardfehlern anfangen bei anderer Tabelle in der GUI könnte das TableModel zu wenig Zeilen/ Spalten enthalen,

da eine Datei immer schwierig ist, verwende testweise lieber eine Liste von Strings, aus der kannst du genauso per Schleife auslesen
 

Stephan2009

Aktives Mitglied
Java:
String[] columnNames = {"Nr.", "Kategorie Fotos" ,"Titel","Autor","Bewertungen" };
            
       	    
	        Object[][] data = {
	        {"", "", "", "", ""},
	        {"", "", "", "", ""},
	        {"", "", "", "", ""},
	        {"", "", "", "", ""},
	        {"", "", "", "", ""},
	        {"", "", "", "", ""},
	        {"", "", "", "", ""},
	        {"", "", "", "", ""},
	        {"", "", "", "", ""},
	        {"", "", "", "", ""}, 
	        };
	        // fehlt ein ActionListener zum Sortieren der Table
	        
	        
	        final JTable table = new JTable(data, columnNames);

	        table.getColumnModel().getColumn(1).setCellRenderer(new MyRenderer());
	        table.getColumn("Kategorie Fotos").setPreferredWidth(20);
            table.setRowHeight(0, 50); // Höhe der Row
            table.setRowHeight(0, 50);
            
            // Zugriff auf Textdatei und in Table einfügen
                         
                try
                {
                File file = new File("neue_bewertung.txt");
                FileReader fr=new FileReader(file);
                BufferedReader br=new BufferedReader(fr);
                String in = br.readLine();
                while (in != null) {

                //String zeile;
                 //while((zeile=br.readLine())!=null)
                    {
                    
                    String[] elemente=in.split(";");
                    
                    table.setValueAt(elemente[0], 1, 2);
                    table.setValueAt(elemente[3], 1, 3);
                    table.setValueAt(elemente[6], 1, 4);
                    }
                fr.close();
                }}
            catch(Exception e)
                {e.printStackTrace();}

Hier mal ein TeilCode des Programms
Die Txt hat diesen Datensatz:
Titel: Unfall; Kategorie: Unfall; Metadaten: Fotos; Autor: Stephan Text: bla; Bewertungsabgabe: Ihre Bewertung war: 4

Exception : java.lang.ArrayIndexOutOfBoundsException: 3
 
Zuletzt bearbeitet:

neela

Bekanntes Mitglied
Du solltest außerdem eine Variable Zeile verwenden.
Momentan überschreibst du immer wieder die 2 Zeile deiner Tabelle (Die erste Zeile hat den Wert 0 das gleiche gilt auch für die erste Spalte)

Gib zunächst mal alle alle Strings von elemente aus und überprüfe ob diese Richtig sind


ändere mal zeile 19 folgendermaßen um und entferne zeile 21
Java:
	 DefaultTableModel model = new DefaultTableModel(data, columname);
		table = new JTable(model);
 
Zuletzt bearbeitet:

Stephan2009

Aktives Mitglied
ich habs Problem erkannt es funktioniert jetzt thx @all :)

nur ein Problem ist noch und zwar schreibt er mir jetzt an die richtige Stelle in Table nur was muss ich

hier
Java:
String zeile;
                 while((zeile=br.readLine())!=null)
                    {
                    
                    String[] elemente=zeile.split(";");

das ich mehrere unterschiedliche Elmente abspeichern kann weil so zeigt er mir immer das selbe nämlich nur das 1 Element bis ; in der TXT
 
Zuletzt bearbeitet:

neela

Bekanntes Mitglied
mit
Java:
elemente[0]= erhälst du den ersten String
elemente[1]= denn nächsten usw und so fort

ich hoffe ma ich habe dich richtig verstanden das momentan immer nur der Titel ausgegeben wird
 

neela

Bekanntes Mitglied
mach mal
Java:
elemente.length
da müsste dann die anzahl an einzelelemente ausgegeben werden
wenn da nur 1 rauskommt
schau dir noch mal deine textdatei an gib ggf mal die ganze zeile aus und prüfen ob die Trennzeichen immer vorhanden sind
 
S

SlaterB

Gast
was hat diese Diskussion zum Ziel? es doch alles so einfach so 100% genau zu machen:
1. wie gesagt auf Datei verzichten, dann wüßte jeder worum es geht, im Moment nicht

2. falls nicht dann gibt es immer noch die einfache Möglichkeit die Zeile mit System.out.println() auszugeben,
ein so einfacher Befehl, der im Normalfall so vieles sofort verläßlich aufklärt, aber wird so selten eingesetzt..

3. neben der Zeile gehört natürlich auch das Array ausgegeben, auch wenn man sich aus der Zeilen-Ausgabe wahrscheinlich denken kann wie es aussehen wird,
Arrays.toString(array) hilft dabei, und natürlich System.out.println()

4. falls die nicht Code-Zeilen immer noch [c]table.setValueAt(elemente[0], 1, 2);[/c] lautet, kann es gut sein dass die Exception erst in der setValueAt()-Methode auftritt,
im Zweifel immer alles auftrennen:
ein perfektes Programm sieht so aus:
Java:
System.out.println("das Array ist: "..);
System.out.println(jetzt kommt Index .. dran);
String x = array[index]
System.out.println(Aufruf im Array mit Index .. hat geklappt, x ist ..);

System.out.println(im übrigen ist die Tabelle, die gleich dran kommt .., so viele Spalten.., so viele Zeilen .., und was noch so spannend ist ..............);
System.out.println(versuche gleich x = .. in Tabelle an Spalte .., Zeile .. zu setzen);
table.setValueAt(x, 1, 2);
System.out.println(Versuch, x = .. in Tabelle an Spalte .., Zeile .. zu setzen, war anscheinend erfolgreich (sonst ja Exception));
usw.

jeder einzelne Programmschritt kann quasi ohne Denkleistung sicher überprüft werden,
oder man fragt im Forum..

edit: geht schon, na gut ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Swing Sudoku: Laden / Speichern von Zahlen aus/in mehrere JTextFields aus/in eine(r) Textdatei AWT, Swing, JavaFX & SWT 9
N In Textdatei Text anfügen per GUI AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
D String als Textdatei in ausgewähltem Speicherplatz speichern AWT, Swing, JavaFX & SWT 32
T textdatei beschreiben AWT, Swing, JavaFX & SWT 3
X Zeilen aus einer Textdatei einzelnd als String abrufen AWT, Swing, JavaFX & SWT 8
P JavaFX Mit Stream-API (1.8) in Textdatei schreiben AWT, Swing, JavaFX & SWT 3
K GUI Elemente über eine separate Textdatei beschriften? AWT, Swing, JavaFX & SWT 4
C SWT Combobox mit Textdatei füllen AWT, Swing, JavaFX & SWT 2
L Zeilenumbrüche aus JTextArea MIT in Textdatei schreiben AWT, Swing, JavaFX & SWT 4
A Swing von Textdatei einlesen und per JLabel anzeigen AWT, Swing, JavaFX & SWT 2
B textdatei speichern AWT, Swing, JavaFX & SWT 9
J Aus einer JList den Inhalt als Textdatei speichern AWT, Swing, JavaFX & SWT 15
J Daten aus einer Textdatei in ArrayList holen AWT, Swing, JavaFX & SWT 9
B SWT Textdatei Lesen und Anzeige in View - Zeichensatzproblem AWT, Swing, JavaFX & SWT 4
J Integer aus Textdatei auslesen und in Variable speichern AWT, Swing, JavaFX & SWT 11
G Den Ihnhalt aus einem JTextArea in eine Textdatei speichern? AWT, Swing, JavaFX & SWT 16
G Komponente zur Anzeige einer Textdatei. AWT, Swing, JavaFX & SWT 10
G Anzeigen einer Textdatei in einem Fenster AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
S HPRO und UPRO gemeinsame JTABLE gemeinsamer RENDERER ? AWT, Swing, JavaFX & SWT 1
F Swing JTable - MultiHeader inkl. Eingabemöglichkeit AWT, Swing, JavaFX & SWT 1
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G jTable - getSelectedRow() AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
M JTABLE / wie oft wurde gewürfelt. AWT, Swing, JavaFX & SWT 1
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
B JTable Zellen zusammenfügen AWT, Swing, JavaFX & SWT 3
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
MadMax2506 Swing JTable lädt sehr lange AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
R Swing JTable und Spaltenausrichtung AWT, Swing, JavaFX & SWT 8
G JTable füllen AWT, Swing, JavaFX & SWT 1
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
J Datensatz in jTable ausgeben AWT, Swing, JavaFX & SWT 3
M Swing Automatischer Editorstart in JTable-Zelle AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing JTable aktualisieren AWT, Swing, JavaFX & SWT 5
adiko01 JTable: Nur markierte Zeilen aus der Tabelle in CSV exportiern AWT, Swing, JavaFX & SWT 9
M JTable.setDefaultRenderer(...) greift nicht AWT, Swing, JavaFX & SWT 0
J JTable: Eingabe in Tabellenzelle korrigieren AWT, Swing, JavaFX & SWT 4
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
D JTable nach INSERT aktualisieren /refreshen AWT, Swing, JavaFX & SWT 1
D MySQL Daten in JTable anzeigen AWT, Swing, JavaFX & SWT 2
H Swing Jtable extra spalte AWT, Swing, JavaFX & SWT 6
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
S Swing Mal wieder JTable Ansicht aktualisieren AWT, Swing, JavaFX & SWT 10
A JTable mit Daten füllen AWT, Swing, JavaFX & SWT 1
VfL_Freak Swing Einzelne Zeile in jTable selektieren klappt nicht AWT, Swing, JavaFX & SWT 7
N AWT jTable CellRenderer AWT, Swing, JavaFX & SWT 6
T Swing JTable valueChanged datensatz löschen AWT, Swing, JavaFX & SWT 1
0 Swing JTable aus anderer Klasse updaten AWT, Swing, JavaFX & SWT 5
S Jtable defaultRenderer wohin damit ? AWT, Swing, JavaFX & SWT 23
T Swing JTable / FocusListener AWT, Swing, JavaFX & SWT 0
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
L Swing JTable im Panel darstellen AWT, Swing, JavaFX & SWT 8
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
J addRow bei JTable AWT, Swing, JavaFX & SWT 6
M Jtable gibt -1 wert bei selectedRow und Column AWT, Swing, JavaFX & SWT 3
Meeresgott Swing JTable AWT, Swing, JavaFX & SWT 4
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
C Swing Daten in JTable wiedergeben per TableModel und MVC Pattern AWT, Swing, JavaFX & SWT 16
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
Thallius JTable dynamisch Spaltenanzahl verändern AWT, Swing, JavaFX & SWT 2
Thallius JTable dynamisch laden? AWT, Swing, JavaFX & SWT 2
B Swing JTable sortieren AWT, Swing, JavaFX & SWT 2
T Swing JTable auslesen und befüllen AWT, Swing, JavaFX & SWT 8
B JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
J JTable und Suchlogik AWT, Swing, JavaFX & SWT 4
Viktim Swing JTable mit Tab verlassen AWT, Swing, JavaFX & SWT 1
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
Viktim Swing JTable Mit Tab druch Zeilen Wechseln AWT, Swing, JavaFX & SWT 5
Thallius Warum refrehsed mein JTable nicht? AWT, Swing, JavaFX & SWT 5
Ghostman1711 Hinzufügen ausgewählter Dateinen des Filechoosers zu einem JTable AWT, Swing, JavaFX & SWT 9
S Swing JTable - Einzelne Rows einfärben AWT, Swing, JavaFX & SWT 11
M Wert einer Zelle aus JTable ziehen AWT, Swing, JavaFX & SWT 4
K JTable getValueAt() klappt nicht immer AWT, Swing, JavaFX & SWT 1
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
B Swing Tabelle(JTable) filtern swing GUI AWT, Swing, JavaFX & SWT 3
P JTable - bei Eingabe Selektion AWT, Swing, JavaFX & SWT 0
P Fokus auf Zelle in JTable AWT, Swing, JavaFX & SWT 1
S Swing Deselektion in JTable verhindern AWT, Swing, JavaFX & SWT 0
D Problem mit JTable AWT, Swing, JavaFX & SWT 1
N Swing Print JTable mit AbstractTableModel AWT, Swing, JavaFX & SWT 1
Ananaskirsche Swing jTable Reihen zuviel eingefügt AWT, Swing, JavaFX & SWT 12
P im JTable die Schriftfarbe ändern AWT, Swing, JavaFX & SWT 19

Ähnliche Java Themen

Neue Themen


Oben