jTree from database

0

Witam,

Od kilku dni siedzę nad tematem i totalnie utknąłem. W jaki sposób mogę wyświetlić dane z bazy w jtree? Jtree może sięgać max do 8 poziomu.

0

No właśnie mam problem z wyświetleniem danych w drzewie :)

Mam tabelę z przykładowymi danymi

root w drzewie będzie IND_0 w skład którego wchodzi wszystko z tabeli

ID_NAD, INDEKS, NAZWA, ID_POD
1 IND_1 INDEKS_1 null
1 IND_2 INDEKS_2 22
1 IND_3 INDEKS_3 null
22 IND_4 INDEKS_4 null
22 IND_5 INDEKS_5 33
33 IND_6 INDEKS_6 null
33 IND_7 INDEKS_7 null
33 IND_8 INDEKS_8 null

Chciałbym to wyświetlić w drzewie:

  • IND_0
    -------IND_1
    -------IND_2
    -----------IND_4
    -----------IND_5
    ----------------IND_6
    ----------------IND_7
    ----------------IND_8
    --------IND_3

Czyli jeżeli INDEKS w polu ID_POD ma wartość null to znaczy że nie ma części podrzędnych. Jeżeli ma wartość inną niż null to znaczy że są indeksy które wchodzą w jego skład. Po prostu nie mam na to pomysłu :(

0

Trudno coś poradzić na sucho. Pokaż kod.

0

No właśnie z kodem słabo. Coś tam skleciłem ale to nie jest dobry kierunek.

Mam jtree drzewko. Najpierw wrzucam do top urządzenie główne

0
DefaultMutableTreeNode top = new DefaultMutableTreeNode("Top");
for (Company c: companies) {
  DefaultMutableTreeNode companyNode =
        new DefaultMutableTreeNode(c.getName());
  top.add(companyNode);
  for (Employee e: c.getEmployees()) {
      DefaultMutableTreeNode employeeNode =
         new DefaultMutableTreeNode(e.getName());
      companyNode.add(employeeNode);
  }
}


tree = new JTree(top);
JScrollPane treeView = new JScrollPane(tree);

Zachęcam do przerobienia: https://docs.oracle.com/javase/tutorial/uiswing/components/tree.html

0

Dzięki

Bez przerobienia tego chyba się nie obejdzie... nie ma drogi na skróty :)

0

Musisz podzielić problem na 2 pod problemy:

  1. Wczytaj dane z bazy, stwórz hierarchię obiektów.
  2. Zrób drzewko.

Do 2 masz już kod mniej więcej napisany powyżej. Robisz 1 i gotowe ;).

0

Ok, dzięki za podpowiedź. Mam nadzieję, że teraz to pokonam :)

0

Niestety ale nie do końca potrafię zbudować hierarchię. Do drugiego poziomu jest Ok ale trzeci już mi się rozsypuje. Trochę zmieniłem strukturę bazy

Mam trzy tabele: POZ_1, POZ_2 i POZ_3

tabela POZ_1
ID, NAZWA
1 | IND_1
2 | IND_2
3 | IND_3

tabela POZ_2
ID, NAZWA, POZ_1_ID
1 | IND_4 | 2
2 | IND_5 | 2
3 | IND_6 | 3

tabela POZ_3
ID, NAZWA, POZ_2_ID
1 | IND_7 | 1
2 | IND_8 | 1
3 | IND_9 | 1
4 | IND_10 | 3

Tabele POZ_1 i POZ_2 połączone są przez ID_1_POZ, a tabele POZ_2 i POZ_3 przez ID_2_POZ

Drzewko wyświetla mi się ok do poziomu drugiego ale poziom trzeci już kuleje.
Mateusz, Zerknąłbyś na kod jeżeli Ci podeślę? Może dasz mi jakąś wskazówkę? Ewentualnie jakiś kontakt do Ciebie na priv. Z góry dzięki :)

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