Füllen eine Object[][]

yidaki

Erfahrenes Mitglied
Hallo zusammen,

ich hab ein Problem. Ich will einen JTable mit Werten, die ich aus einer Datei auslese füllen. Ich kann mit meiner jetzigen version nur leider eine Zeile füllen. Siehe Quellcode

Code:
...
public SimpleTableDemo() {
        super(new GridLayout(1,0));
        // Pfad der Dateien
    	String file_eng = "c:/test_eng.txt"; 
    	String file_deu = "c:/test_deu.txt";
    	String file_fr = "c:/test_fr.txt";
    	// Anlegen der Hashmap
        HashMap eng = new HashMap();
    	HashMap deu = new HashMap();
    	HashMap fr = new HashMap();
        // Instanz der Klasse FileAppend
        FileAppend test_file = new FileAppend();
    	try {
        // Die Hashmap werden mit den Daten aus der Datei gefüllt
    		eng = test_file.fillHashMap(file_eng);
    		deu = test_file.fillHashMap(file_deu);
    		fr = test_file.fillHashMap(file_fr); 
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
        // Namensgebung der Spalten
        String[] columnNames = {"Sclüsselfeld",
                                "Englisch",
                                "Deutsch",
                                "Französisch"};
        Object[][] data = null;
    	java.util.Iterator it = eng.entrySet().iterator();
        // Iterator zum Füllen des Object[][]
    	while (it.hasNext()){
    		Map.Entry entry = (Map.Entry)it.next();
            Object[][] data2 = 
            {
            // Das Object bekommt die Daten aus der Hashmap
            // An dieser Stelle ist mein Problem, ich müsste das Objekt bei jedem   
                // durchlauf konkatenieren bzw. gibt es eine bessere lösung.
                    {
                     (String) entry.getKey(),
                     (String) entry.getValue(),
                     (String) deu.get(entry.getKey()), 
                     (String) fr.get(entry.getKey())
                    }
            };
            data = data2;
    	}
    	
        final JTable table = new JTable(data, columnNames);
        table.setPreferredScrollableViewportSize(new Dimension(500, 70));

        if (DEBUG) {
            table.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    printDebugData(table);
                }
            });
        }

        //Create the scroll pane and add the table to it.
        JScrollPane scrollPane = new JScrollPane(table);

        //Add the scroll pane to this panel.
        add(scrollPane);
    } 
...

Ich hab einen Kommentar an die Stelle eingefügt, bei der ich nicht weiterkomme.
Zur Info
=====
In den drei Dateien gibt es Schlüsselfelder, die in jeder der drei Dateien auftauchen. Der inhalt des Schlüssels ist allerdings je Datei in einer anderen Sprache. Ziel des Programms soll es sein letzten Endes die Dateien in einem Jtree darzustellen und editieren zu können (neue Felder anlegen, löschen, umbenennen etc.).

mfg

yid
 
war ne blöde frage, hat sich erledigt!

lässt sich genause handeln wie ein array...

trotzdem danke, wenn ihr mal reingeschaut habt ;-)
 
Zurück