Wyświetlenie drugi raz elementów w JTable - z listy/XML

0

Pobieram dane z XML i teraz chciałbym je wyświetlić jtable tak jak wcześniejsze dane z pliku bazy danych fbd. Dane są odczytawane, ponieważ wypisują się na konsole(widać na załączniku), ale nie wiem dlaczego już w jtable mi się nie wyświetlają. Jak to poprawić ?

        } else if (e.getActionCommand().equals("Połącz")) {
            ustawienia.setLogin(jTfLogin.getText());
            ustawienia.setHaslo(Ustawienia.odczytajHaslo(jPfHaslo));
            /*DLA SPRAWDZENIA CZY DZIALA****************************************/
            System.out.print("\nPróba dwa: " + "\n");
            KomunikacjaDB kDB = new KomunikacjaDB(ustawienia, sciezkaDoBazy);
            List<CDane> lista = new LinkedList<CDane>();
            lista = kDB.wczytajWszystkieDane();
            tab = new JTable(new TModel(lista));
            tab.setAutoCreateRowSorter(true);
        }else if(e.getActionCommand().equals("Wyświetl dane z XML")){
            String sciezkaXML = otworzXML();
            System.out.println(sciezkaXML); //dla testu do usuniecia
            ReadXMLFile rf = new ReadXMLFile();
            ListaKsiazekXML lksiazek = new ListaKsiazekXML();
            lksiazek = rf.readXMLFile(sciezkaXML);
            lksiazek.wypisz();
            tab = new JTable(new TModel(lksiazek.getListaKsiazek()));
            tab.repaint();
 
package zlabbiblioteka;

import java.util.LinkedList;
import model.Autor;
import model.CDane;
import model.Ksiazka;

/**
 *
 * @author Marcin
 */
public class ListaKsiazekXML {
   private LinkedList<CDane> listaXML;
   
   public LinkedList<CDane> getListaKsiazek(){
       return listaXML;
   }
   
   public ListaKsiazekXML() {
        listaXML = new LinkedList<>();
    }
   
   public void dodajKsiazke(Ksiazka k, Autor a){
       listaXML.add(new CDane(k, a));
   }
   public int size(){
       return listaXML.size();
   }
   
   //do usuniecia - test
   public void wypisz(){
       for(int i=0; i<listaXML.size(); i++){
           System.out.println(listaXML.get(i).getKsiazka().getTytul() 
                   + " " + listaXML.get(i).getAutor().getImie() 
                   + " "+listaXML.get(i).getKsiazka().getWydawnictwo() 
                   + " "+ listaXML.get(i).getKsiazka().getRok() 
                   + " " + listaXML.get(i).getKsiazka().getOpis() 
                   + " " + listaXML.get(i).getKsiazka().getOpis());
       }
   }
}

0

Jakieś pomysły ? Czy może za mało kodu podałem ? @bogdans

0

Nie rozumiem Twojego kodu. Po kliknięciu w przycisk tworzysz nową tabelę: tab = new JTable(...)`, ale nie dodajesz jej do okna (panelu). Jak Ty ją wyświetlasz?

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