Liste mit Listen in JTable darstellen

Wuast

Bekanntes Mitglied
Hallo Leute,

ich stehe vor einem Problem, bin mir auch nicht sicher, ob ich das auf der Logikebene richtig durchdrungen habe, in jedem Fall aber stolpere ich über die Umsetzung. Ich versuche mal zu beschreiben, was ich vorhabe:

Ich habe eine ArrayList, die ihrerseits ArrayListen aufnimmt, die wiederum aus Objekten besteht, in denen bestimmte Parameter vorkommen (Strings, Doubles) und die aus zwei Klassen gespeist werden. Also die Inhalte laufen quasi auf zwei Ebenen und verdichten sich erst auf der zweiten zu den im UI anzuzeigenden Inhalten.
Die zweite ArrayList-Ebene verwaltet eine Monatsliste, in die Einnahmen und Ausgaben-Objekte eingetragen werden können (und für jedes Objekt werden dann bestimmte Sachen erfasst, d.h. z.B. Informationen über Ursprung der Einnahme, Steueranteil, Ausgabengrund und -Höhe, ...). Ist der Monat zu Ende, soll im Folgemonat ein neues Listen-Objekt in der Liste auf der ersten Ebene angelegt werden und in der Liste auf der zweiten Ebene werden wieder Einnahmen- und Ausgabenobjekte abgelegt.
Jetzt soll das ganze über eine Abstrakt Table Model in eine JTable überführt werden. Dort soll dann jeweils ein Objekt der Liste von der zweiten Ebene, sprich die Eintragungen und somit Objekte der einzelnen Monate (zweite Ebene) abgebildet werden. Mithilfe eines Juttons will ich die Monate dann skippen, d.h. durch die erste Liste "iterieren" und die Indizes der zweiten Liste anzeigen.

Jetzt erstmal meine grundsätzliche Frage: Macht das so überhaupt Sinn??
Falls ja meine zweite Frage: Auf welchem Weg greife ich in der AbstractTableModel auf die einzelnen Objekte zu? Ich brauche doch die Anzahl an Reihen entsprechend der Indezes der zweiten Ebene (Spalten entsprechen der darzustellenden Parameter der Objekte, das passt soweit denke ich). Aber da diese ja ihrerseits jeweils auf einem Index auf der ersten Ebene liegen, frage ich mich, wie ich da rankommen soll in der ATM.

Ich hoffe, das war nicht zu verwirrend, mir raucht gerade selbst etwas der Kopf :D

Danke schon mal für alle Gedanken.
 

Wuast

Bekanntes Mitglied
Ich hake nochmal nach. Vllt. ist das ja auch völliger Blödsinn und es geht viel einfacher. Hier nochmal mit Code, vllt. motiviert das ja zu einer (kurzen) Rückmeldung.

Java:
ublic class Atm extends AbstractTableModel {
        
        private final FinancialAdministration finAdmin = FinancialAdministration.getInstance();
        private final ListCollection listCollection = ListCollection.getInstance();
        private DateData date = new DateData();
        UI_Functions functions = new UI_Functions();
        
        private static final String[] COLUMN_NAMES = {"Datum", "Eingang", "Euro", "Steuerrückstellung", "Netto", "Ausgabe", "Euro", "Notiz"};
        private static final Class<?>[] COLUMN_CLASSES = {String.class, String.class, Double.class, Double.class, Double.class ,String.class, Double.class, String.class};   
        
        private ArrayList <List> monthsList = (ArrayList<List>) listCollection.getMonthsList();        //Liste 1. Ebene, enthält die anderen Listen
        private List <IncomeClearView> monthlyClearView;    // hier sollen die Listen der 2. Ebene mit den Objekten rein, die in der JTable dargestellt werden sollen
        
        @Override
        public int getRowCount() {
            return monthlyClearView.size();        //kann ja nicht so stimmen weil das muss sich doch ändern können
        }

        
        @Override
        public int getColumnCount() {
            return COLUMN_NAMES.length;
        }
        
        
        @Override
        public String getColumnName(int column) {
            return COLUMN_NAMES[column];
        }

        
        @Override
        public Class<?> getColumnClass(int columnIndex) {
            return COLUMN_CLASSES[columnIndex];
        }
        
        
        /*
         * content displayed in jtable
         */
        @Override
        public Object getValueAt(int rowIndex, int columnIndex) {    //wie komme ich dann hier an die Inhalte?
            Income income = monthlyClearView.get(rowIndex);
            switch (columnIndex) {
                case 0: return income.getIncomeDate();
                case 1: return income.getIncome();
                case 2: return income.getIncomePreTax();
                case 3: return income.getTaxAccrual();       
                case 4: return income.getNetOfTax();
                case 5: return "";
                case 6: return (Double) 0.0 ;
                case 7: return "";
            }
            return null;
        }
    
    // usw.
    
}


public class FinancialAdministration {
    
    private ListCollection listCollection = ListCollection.getInstance();
    
    IncomeClearView incClear;        //Objekt, welches aus den 2 Klassen "Income" und "Expenditure" gespeist wird
        
    private List <IncomeClearView> monthlyFinances = new ArrayList <IncomeClearView> () ;
    
    public ArrayList createNewList() {        //hier soll eine neue Liste für einen neuen Monat erstellt werden
    monthlyFinances = new ArrayList <IncomeClearView> () ;   
    return (ArrayList) monthlyFinances;
    }
    
    public void addMonetaryValues(IncomeClearView incClear) {    //hier sollen die Objekte in die Liste aufgenommen werden (2. Ebene)
        monthlyFinances.add(incClear);
    }
    
    //usw.

}


public class ListCollection {
    
    private static ListCollection listCollection = new ListCollection();
    
    private ListCollection(){
    }
    
    public static ListCollection getInstance() {
        return listCollection;
    }

    @SuppressWarnings("rawtypes")
    private List <List> monthsList = new ArrayList <List> ();    //Liste mit den einzelnen Monaten (1. Ebene)
    
    @SuppressWarnings("unchecked")
    public void addMonthsToList (List<IncomeClearView> list) {    //hier sollen die Listen der 2. Ebene in die Liste der 1. Ebene aufgenommen werden
        monthsList.add((ArrayList<IncomeClearView>) list);
    }
    
    @SuppressWarnings("rawtypes")
    public List<List> getMonthsList() {
        return monthsList;
    }
    
    public void iterateThroughListCollection() {    //hilft mir das Iterieren durch die Liste auf der 1. Ebene um in der Klasse Atm an die Daten zu kommen?
        ListIterator <List> listIterator = getMonthsList().listIterator();   
        while (listIterator.hasNext()){
            for ( List<IncomeClearView> incomeClearViews: getMonthsList() )    {
            // addMonthsToList(incomeClearViews);    // was will ich eigentlich?? xD
            }
        }
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Eine Liste von Listen erstellen Java Basics - Anfänger-Themen 11
S Liste mit Objekten und Listen Java Basics - Anfänger-Themen 9
F Collections Liste von Listen Java Basics - Anfänger-Themen 21
M Liste enthält weitere Listen, hbm.xml Mappingdatei Java Basics - Anfänger-Themen 2
A Liste von Listen mit fester reihenfolge Java Basics - Anfänger-Themen 6
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
R Liste und Arrays Java Basics - Anfänger-Themen 12
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
M Verkettete Liste Java Basics - Anfänger-Themen 1
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
E Suchfunktion in einer Liste Java Basics - Anfänger-Themen 39
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
I 2D-Array Position der Liste ausgeben. Java Basics - Anfänger-Themen 2
I Liste von Infos von einer eigenen Annotation in Liste speichern Java Basics - Anfänger-Themen 0
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
Igig1 Autoparkplatz verkettete Liste erstes und letztes Auto Java Basics - Anfänger-Themen 13
thor_norsk Verkette Liste Java Basics - Anfänger-Themen 27
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
R einfach verkettete Liste Java Basics - Anfänger-Themen 1
R einfach verkettete Liste Java Basics - Anfänger-Themen 12
O Doppelt verkette Liste Element löschen Java Basics - Anfänger-Themen 15
B GUI extension mit einer Liste verbinden Java Basics - Anfänger-Themen 1
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
M Java Liste streamen Java Basics - Anfänger-Themen 10
AmsananKING Aussortierung einer Liste Java Basics - Anfänger-Themen 8
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
A Korrigierte <String> Liste zurückgeben Java Basics - Anfänger-Themen 22
S Kann nicht auf die Liste zugreifen mit der Methode!? Java Basics - Anfänger-Themen 3
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
I Liste gruppieren nach Monat? Java Basics - Anfänger-Themen 5
districon Element in Liste einfügen Java Basics - Anfänger-Themen 1
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
Gaudimagspam Linked Liste Java Basics - Anfänger-Themen 4
Z Liste umkehren Java Basics - Anfänger-Themen 1
S Eine Liste kopieren Java Basics - Anfänger-Themen 13
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
java3690 Liste mit zufälligen zahlen füllen Java Basics - Anfänger-Themen 27
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
J Element aus Liste nehmen Java Basics - Anfänger-Themen 3
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
P Was genau bringt mir es ein Array in eine Liste zu bringen Java Basics - Anfänger-Themen 3
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
P Verschachtelte Array Liste Java Basics - Anfänger-Themen 2
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
P Performance Array und Liste Java Basics - Anfänger-Themen 13
M QuickSort und Liste Java Basics - Anfänger-Themen 6
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
V_Fynn03 Beliebiges Element in einer Liste löschen (Java)(Lineare Datenstrukturen) Java Basics - Anfänger-Themen 9
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
CptK Koordinate in Liste suchen Java Basics - Anfänger-Themen 20
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
L Liste in anderem Thread laden Java Basics - Anfänger-Themen 1
M Array liste Verdrehen Java Basics - Anfänger-Themen 8
A Verkettete Liste Java Basics - Anfänger-Themen 2
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
B Liste von Tagen generieren ab einem bestimmten Datum und Endedatum Java Basics - Anfänger-Themen 4
S IndexOutOfBoundsException beim hinzufügen eines Elements zu einer Liste Java Basics - Anfänger-Themen 11
B Liste sortieren? Java Basics - Anfänger-Themen 4
O Anonyme Klasse einer Liste erstellen Java Basics - Anfänger-Themen 7
B SWAP List; Liste neu anordnen Java Basics - Anfänger-Themen 4
B CSS Klassen in eine Liste schreiben Java Basics - Anfänger-Themen 4
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
L verkettete Liste Java Basics - Anfänger-Themen 15
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
O ADT Liste z. B. Java Basics - Anfänger-Themen 15
B sortierte Liste Java Basics - Anfänger-Themen 4
O Knoten und Liste verarbeitung Java Basics - Anfänger-Themen 20
R Methoden Entferne alle identische Knoten (Typ String) aus verkettete Liste Java Basics - Anfänger-Themen 8
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
A Einträge aus Tupeln nach Regeln in Liste speichern Java Basics - Anfänger-Themen 8
Queiser Liste zurückgeben Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben