JTable+ModelTable+MySQL problem z wyświetlaniem

0

Witam,
mam problem i nie wiem w czym rzecz. Mianowicie chodzi o wyświetlenie danych z bazy. Cała tabele JTable zostaje zapełniona danymi z ostatniego wiersza. W kodzie napisałem żeby wypisywało w konsoli i jak wypisuje w konsoli to wyświetla ładnie te dane. A JTable zapełnia cała tabele danymi z ostatniego wiersza. Proszę o wskazówki i porady.

Funkcja do wyświetlania:

void pokazDane(){
		String zapytanie= "SELECT *FROM rysunki";
		List<String> lista = new ArrayList<String>();
		
		try {
			Statement st = polaczenie.createStatement();
			ResultSet pobrane = st.executeQuery(zapytanie);
			
		while(pobrane.next()){
				lista.clear();
				
				String id= pobrane.getString("Id");
				String nazwa= pobrane.getString("Nazwa_rysunku");
				String nrSeg= pobrane.getString("Numer_segregatora");
				String nrStr= pobrane.getString("Numer_strony");
				
				lista.add(id);
				lista.add(nazwa);
				lista.add(nrSeg);
				lista.add(nrStr);
				System.out.println(lista.toString()); // tutaj wypisuje dane poprawnie 
				model.addElement(lista);               // użycie modelu Tabeli
				
			}
			
			} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	} 

Model tabeli:

 
import java.util.ArrayList;
import java.util.List;
import java.io.Serializable;

import javax.swing.table.AbstractTableModel;

public class ModelTabeli extends AbstractTableModel implements Serializable {

	private String[] columnNames = {"ID","Nazwa rysunku","Nr segregatora","Nr strony"};
	private ArrayList<List<String>> listy =new ArrayList<List<String>>();
	private static final long serialVersionUID = 1L;
	
	public ModelTabeli(ArrayList<List<String>> listy) {
		this.listy=listy;
	}
	public ModelTabeli(){};

	public void addElement(List<String> lista){
		
		listy.add(lista);
		fireTableDataChanged();
		fireTableStructureChanged();
		}
	
	@Override
	public int getColumnCount() {
		// TODO Auto-generated method stub
		return columnNames.length;
	}

	@Override
	public int getRowCount() {
		// TODO Auto-generated method stub
		return this.listy.size();
	}

	@Override
	public Object getValueAt(int wiersz, int kolumna) {
		return listy.get(wiersz).get(kolumna);
	}
	public String getColumnName(int column) {
        return columnNames[column];
	}
}
0

Już sobie poradziłem :D

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