JTable - TableModel aus ArrayList

Status
Nicht offen für weitere Antworten.

gladiator09

Bekanntes Mitglied
ok, also ich mach aus der arraylist einen vector und wenn ich in der jtable dann daten ändere, ändert der die dann automatisch in der arraylist??

lg
 

Marco13

Top Contributor
Nein. Für das, was du vorhast, musst du vermutlich das ListModel verwenden. Bietet "ähnliche" Funktionen wie eine ArrayList, und hat das beschriebene Verhalten. Wenn's drauf ankommt kannst du dir auch eine "List"-Implementierung schreiben, die mit einem ListModel verdengelt ist.
 

Marco13

Top Contributor
Ach sorry - TableModel statt ListModel. Man könnte das ganze zwar auch von einem TableModel an eine List weiterreichen, oder sogar ein TableModel machen, das für jede Spalte (bzw. für jedes ColumnModel) eine List enthält, aber wie viel Sinn das macht, ist eine andere Frage. Weiß ja keiner, worum's geht.
 

gladiator09

Bekanntes Mitglied
naja, ich hab eine arraylist mit lauter objekten drin...

das objekt ist schüler mit 4 datenfelder...

und jetzt will ich eine JTable machen, die mir das anzeigt, also:

jeder schüler eine zeile und jede spalte ein datenfeld!

z.b.: 15 objekte von schüler in der arraylist und jedes 4 datenfelder = 15 zeilen, 4 spalten!

wie kann ich das jetzt machen, dass ich diese arraylist in ein TableModel "stecke" und wenn die JTable geändert wird, das auch direkt in der arraylist passiert...

lg
 

André Uhres

Top Contributor
Hier ist ein einfaches Beispiel von einem TableModel mit ArrayList
(oder jede andere Collection, die das List interface implementiert).
Mit "setRowList" kannst du deine ArrayList übergeben:
Code:
package tablesave;
/*
 * STableModel
 * source level 1.4
 */
import java.util.*;
import java.util.List;
import javax.swing.table.*;
public class STableModel extends AbstractTableModel {
    private List rowList;
    public static final int NAME = 0;
    public static final int PHONE = 1;
    private String[] headers = {"Name","Phone"};
    public STableModel() {
        rowList = new ArrayList();
    }
    public int addElement(final STableRow rowData) {
        rowList.add(rowData);
        this.fireTableDataChanged();
        return rowList.size()-1;
    }
    public void removeElement(final STableRow rowData) {
        rowList.remove(rowData);
        this.fireTableDataChanged();
    }
    public void setEntries(final List dataList) {
        clear();
        for (int row = 0; row < dataList.size(); row++) {
            rowList.add(dataList.get(row));
        }
    }
    public String getColumnName(int i) {return headers[i];}
    public int getColumnCount() {return headers.length;}
    public int getRowCount() {return rowList.size();}
    public Object getRowAt(int row) {return rowList.get(row);}
    public void setRowAt(final STableRow rowData, int row) {
        rowList.set(row, rowData);
        this.fireTableRowsUpdated(row, row);
    }
    public Object getValueAt(final int row, final int col) {
        if(col == NAME)
            return ((STableRow)rowList.get(row)).getName();
        if(col == PHONE)
            return ((STableRow)rowList.get(row)).getPhone();
        return (Object) null;
    }
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        if(columnIndex == PHONE) return true;
        return false;
    }
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        if(columnIndex == NAME)
            ((STableRow)rowList.get(rowIndex)).setName((String) aValue);
        if(columnIndex == PHONE)
            ((STableRow)rowList.get(rowIndex)).setPhone((String) aValue);
    }
    public void clear() {
        int rows = getRowCount();
        rowList.clear();
        fireTableRowsDeleted(0,rows);
    }
    public String[] getHeaders() {return headers;}
    public List getRowList() {return rowList;}
    public void setHeaders(final String[] headers) {this.headers = headers;}
    public void setRowList(final List rowList) {this.rowList = rowList;}
}
Du musst nur "STableRow" durch deine "Schüler" Klasse ersetzen
und die Spaltennamen anpassen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Swing Daten in JTable wiedergeben per TableModel und MVC Pattern AWT, Swing, JavaFX & SWT 16
W Neues TableModel und JTable wird nicht refreshed AWT, Swing, JavaFX & SWT 3
D Swing JTable TableModel + RowCount AWT, Swing, JavaFX & SWT 18
N Swing Eintrag in JTable an dessen TableModel weiterreichen AWT, Swing, JavaFX & SWT 3
K JTable +TableModel --> Anpassung der Tabellengröße (Zeilenanzahl) AWT, Swing, JavaFX & SWT 3
L Klick auf JTable -> EditorPane manipulieren, Fragen zu TableModel AWT, Swing, JavaFX & SWT 9
E JTable und tablemodel Verständnisproblem AWT, Swing, JavaFX & SWT 3
R JTable - TableModel AWT, Swing, JavaFX & SWT 6
D JTable - TableColumnModel - TableModel AWT, Swing, JavaFX & SWT 3
S JTable nimmt TableModel nicht an AWT, Swing, JavaFX & SWT 4
A JTable, eigenes TableModel und dessen Objekte AWT, Swing, JavaFX & SWT 4
G Frage zu JTable und TableModel AWT, Swing, JavaFX & SWT 4
G JTable, TableModel und CellRenderer AWT, Swing, JavaFX & SWT 3
G jTable + ScrollPane (+ TableModel) AWT, Swing, JavaFX & SWT 7
G TableModel von JTable wieder entfernen AWT, Swing, JavaFX & SWT 10
P JTable TableModel JFreeReport AWT, Swing, JavaFX & SWT 4
T anlegen einer jTable mit TableModel AWT, Swing, JavaFX & SWT 3
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
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
T Swing JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
S Dreiecke in bestimmte Zellen einer JTable AWT, Swing, JavaFX & SWT 9
LexeB4F Zelle in JTable gezielt einfärben AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben