[java+sql] - tablice i vector

0

Witam.
Mam mały problem z tablicami dynamicznymi - dokładnie chodzi o Vector.
Mianowicie odpalam aplikację - tabela zrobiona właśnie na vectorz'e - jednak przy odczycie z bazy danych nie dodaje mi kolejnych wierszy do tablicy. (jeżeli początkowo ustawię tablicę - jakieś przykładowe dane podam na np. dwa wiersze - to z bazy wyświetli mi tylko dwa wiersze) - odczytuje tyle ile zadam mu w zależności od zapytania - więc problem nie leży komunikacji i odbiorze danych z bazy tylko właśnie w dodawaniu nowego elementu.
Ktoś może pomóc w rozwiązaniu problemu.

(może po prostu odpalić odczyt danych z tabeli bazy w osobnym wątku?)

ps. jest prawie 3 i jest to już drażniąca sprawa - reszta problemów rozwiązana a tu joke - wydawać się mogło, że pójdzie bez problemu a tak nie jest.
Pozdrawiam

0

Oczywiście chodzi mi o odczyt z bazy po kliknięciu przycisku - czyli mam już jakieś przykładowe dane lub ich brak - klikam i mają się dane pojawić (wcześniej ustawiam warunki jakie dane chce odczytać z bazy) i dane pojawiają się ale tylko jeżeli przy starcie aplikacji mam wyświetlane np 2 wiersze - jeżeli nic nie wyświetlam to po kliknięciu nic mi się nie pokazuje

0

Pokaż jakiś kawałek kodu w którym to się dzieje. Będzie zdecydowanie łatwiej.

0

Poniżej klasa, która w założeniu ma dodawać wiersz
class poka implements ActionListener {
public void actionPerformed(ActionEvent e){
Vector v= new Vector();
v.addElement(new StosData(Polaczenie.m_kod,Polaczenie.m_kraj, Polaczenie.m_region,
Polaczenie.m_termin, Polaczenie.m_cena));
Interfejs.TerminyData.addRow(v);
}
}

Własny model tabeli - takie metody jak getRowCount , getValueat itp są;
public TabelaTerminow() {

vector = new Vector();
ustawDefaultDane();

}

tutaj jest przejście do tabeli - i ustawienie zbudowanie jej na własnym modelu.
TerminyData = new TabelaTerminow();
TabelaTerminy.setModel(TerminyData);

podałem tylko zrywki kodu - jest dość spory - a sądzę że wybrałem te naistotniejsze rzeczy. I oczywiście przy vectorach ,usi się pojawić :
java.lang.ArrayIndexOutOfBoundsException: 0 >= 0 lub 1>=0 - czyli przekroczenie indeksu.
jedno mnie zastanawia - skoro - przy dodaniu na początku ustawDefaultDane - wszystko hula - sortwanie kolumnami, odczyt z zaznaczonej komórki itp - to tutaj - wydawało mi się dorzucę jedną klasę nasłuchującą i nie powinno być problemu a jednak.
Zanim odpaliłem temat korzystałem z artykułu (tematu):
http://4programmers.net/Forum/274006?h=dodawanie#id274006
jednak ja nie ustalam ilości wierszy a liczba wierszy rozróżniania jest poprzez :
public int getRowCount() {
return vector==null ? 0 : vector.size();
}
ot i projekt wisi - jakieś sugestie?

0

Dziwne, że pojawia się exception przy vectorze. hm... spróbuj zainicjować go z wielkością

0

Bez podanej i z podaną - tak czy siak siada, ale mniejsza z tym. Przerobiłem na ArrayList - i jakoś działa - jednak nie dodaje nowych wierszy do tabeli - jeżeli dane przy starcie są w 4 wierszach to pomimo prawdłowego wczytania kolejnych danych nie odpalają się nowe wiersze. Próbowałem dorzucac nowe wiersze do tabeli zgodnie z http://4programmers.net/Forum/182835?h=addRow#id182835 ale albo coś kaszanię albo coś nie hula do końca - cały czas przy dodawaniu wiersza wychodzi : ArrayIndexOutOfBoundsException 0>0 - i tyle.
Ktoś może robił projekt z wczytywaniem danych i zwiększaniu oraz zmniejszaniu ilości wierszy w zależności od ilości danych?

0

moze to pomoze?
http://4programmers.net/Forum/345794
zwlaszcza

fireTableRowsInserted(0,data.size()-1);
//do danych dobierasz sie przez:
((MyTableModel)table.getModel()).myFun(myData);

pozdrawiam

0

Dzięki wielkie - fireTableRowsInserted dziła bez zarzutu do tego operacje i metody na arraylist i jest git.
Raz jeszcze dzięki

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