Dwuwymiarowa tablica i wyświetlanie tabeli

0

Witam serdecznie.

Mam pewien problem z konstruowaniem tabeli. Ale może po kolei ...

  1. W pliku tekstowym przechowuję dane w postaci dana1:dana2:dana3 etc. Dane są rozdzielone znakiem ":", Powiedzmy że mam tak zapisanych 10 liniej po 10 danych w jednej linijce .
  2. Wczytuję plik i odczytuję z niego wszystkie dane jako string.
  3. Czytam linia po linii i tworzę z każdej linii komórkę tablicy, a więc mam 10 elementową tablice.

No i właśnie tu się zaczynają powoli schody .....

  1. Chcę teraz funkcją split(); rozdzielić każdy element tablicy na poszczególne dane i w ten sposób utworzyć dwuwymiarową tablicę np. [indexLinii][indexDanej]

  2. Następnie chcę przekazać tą tablicę do konstruktora nowego okna wyświetlającego tabelę.

  3. Konstruuję tabelę w sposób :

dm.setDataVector(new Object[][] 
	                    {
	                        {new Boolean(false), tablicaDanych, tablicaDanych2, tablicaDanych3, tablicaDanych4},
	                     },
	                     
	                    new Object[] 
	                     {
	                        "NazwaKolumny1", "NazwaKolumny2", "NazwaKolumny3", "NazwaKolumny4", "NazwaKolumny5" 
	                     });

W jaki sposób mam utworzyć tabelę aby mi wyświetliło tyle linii ile zostało przekazanych komórek w tablicy [indexLinii].
Wiem że pewnie muszę zastosować pętlę na fragmencie
{new Boolean(false), tablicaDanych, tablicaDanych2, tablicaDanych3, tablicaDanych4},

tylko nie za bardzo wiem jak ...

Czyi moglibyście mi podpowiedzieć jak mam utworzyć dwuwymiarową tablicę złożoną z danych uzyskanych z pliki i jak ją przekazać do konstruktora ?

Jak przekazać jednowymiarową tablicę i skonstruować jedno linijkową tabelę wiem, problem pojawia się przy dwuwymiarowej ...

Z góry dzięki za wszelkie podpowiedzi :) !!

Pozdrawiam :)

0

Stara prawda mówi, że jeżeli potrzebujesz tablic dwuwymiarowych to znaczy, że brakuje ci obiektu.

String[] linie = pobierzLinie();
Dane[] danetab = new Dane[linie.length];
int i = 0;
for(String linia : linie){
    Dane dane = new dane(linia.split(";"));
    danetab[i] = dane;
    i++
}

Czy tak nie jest prościej? Konstruktor klasy Dane przyjmuje tablicę String i ją odpowiednio obrabia.

0

Dzięki, trochę muszę poprzerabiać swój kod, ale dzięki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1