konto usunięte

Temat: Wyświetlanie rekodów z bazy danych w tabeli.. BIG PROBLEM

cześć

otóż chodzi o wyświetlenie, edytowanie zawartości tabeli przy użyciu tabeli i pól tekstowych..
nie mam pojęcia jak mam wyświetlić dane z tabeli pobieranej przy użyciu hibernate w componencie JTable.
Próbowałem zrozumieć to na podstawie przykładowej aplikacji bazodanowej w NetBeans(choć nie używa ono Hibernate) ale tam są takie tony kodu że się nie łapie w tym.
z czego i jak się tego nauczyć? to dość ważna umiejętność.. problem w sumie zupełnie nie dotyczy hibernate bo pobranie z tabeli di obiektu typu List nie jest problemem. problemem jest wyświetlenie tego..
Michał Rojek

Michał Rojek Programista J2EE,
CoreTeam

Temat: Wyświetlanie rekodów z bazy danych w tabeli.. BIG PROBLEM

Witaj

Jeżeli chodzi o JTable(bo domyślam się że tu tkwi sedno problemu) opis jej działania i tego w jaki sposób zasilić ją danymi, znalazłem w książce Java 2 Techniki Zaawansowane. Niestety nie jestem w stanie dać ci konkretnego przykładu ale gdy zajmowałem sie JTable książka ta sporo mi pomogła.
Zacheusz Siedlecki

Zacheusz Siedlecki Senior Java
Architect, Working
Manager

Temat: Wyświetlanie rekodów z bazy danych w tabeli.. BIG PROBLEM

Do nauki swinga polecam tutoriale ze strony Suna. Osobiście uważam, że nauka programowania poprzez czytanie papierowych książek z daleka od kodu to bezsens ;)
Dla JTable polecam to: http://java.sun.com/docs/books/tutorial/uiswing/compon...
Znajdziesz tam odnośniki do tutoriali dla reszty istotnych elementów Swinga.

konto usunięte

Temat: Wyświetlanie rekodów z bazy danych w tabeli.. BIG PROBLEM

Najlepiej jak użyjesz netbeansa ma już wbudowaną bazę danych i jest prosty w obsłudze.

konto usunięte

Temat: Wyświetlanie rekodów z bazy danych w tabeli.. BIG PROBLEM

tak, wiem, ale jak to sprzęgnąć z hibernate?

konto usunięte

Temat: Wyświetlanie rekodów z bazy danych w tabeli.. BIG PROBLEM

Nie wiem czy da rade zrobić to automagicznie. Najprościej będzie iterować listę wynikową otrzymaną z Hibernate i dodawać kolejno wiersze to tabeli. Przykładowo:


DefaultTableModel model = new DefaultTableModel();
JTable table = new JTable(model);

// Tworzymy kolumny
model.addColumn("Kolumna1");
model.addColumn("Kolumna2");

// Dodajemy wiersz
model.addRow(new Object[]{"k1", "k2"});


Odradzam rozwiązania typu wbudowana obsługa bazy w Netbeans. One sprawdzają się tylko w prostych, standardowych zastosowaniach. Jeśli będziesz chciał dodać coś niestandardowego (np. wykorzystać Hibernate) to pojawi się problem. Nie wspomnę już o całej masie niepotrzebnego kodu, którym trzeba później zarządzać. Na początek polecam pisanie wszystkiego "ręcznie". Pozwoli Ci to dokładnie zrozumieć mechanizmy działania, dzięki czemu bez problemu poradzisz sobie z odczytaniem śmieciowego kodu Netbeansów.
Zacheusz Siedlecki

Zacheusz Siedlecki Senior Java
Architect, Working
Manager

Temat: Wyświetlanie rekodów z bazy danych w tabeli.. BIG PROBLEM

Błażej Kępa:
bez problemu poradzisz sobie z odczytaniem śmieciowego kodu Netbeansów.
haha nie przesadzaj ;)
rzeczy tego typu jak niżej na prawdę nie są przeznaczone do czytania :D

getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponentZacheusz Siedlecki edytował(a) ten post dnia 21.12.08 o godzinie 18:29

konto usunięte

Temat: Wyświetlanie rekodów z bazy danych w tabeli.. BIG PROBLEM

Zacheusz Siedlecki:

haha nie przesadzaj ;)
rzeczy tego typu jak niżej na prawdę nie są przeznaczone do czytania :D
>

Oczywiście. Ja to wiem, Ty to wiesz i pewnie z milion innych osób też wie. Pytanie tylko co z tego? Nie zapominaj, że są osoby, które dopiero się uczą i mogą tego nie wiedzieć. Zresztą temat ten nie dotyczy ustawiania layout'u w Swingu a sprzęgania JTable z Hibernate'm. To tak dla przypomnienia. Kolega ma problem i staramy się mu udzielić merytorycznej pomocy, która doprowadzi go do rozwiązania.
Zacheusz Siedlecki

Zacheusz Siedlecki Senior Java
Architect, Working
Manager

Temat: Wyświetlanie rekodów z bazy danych w tabeli.. BIG PROBLEM

No to jeśli mamy być konkretni to moim zdaniem:
1. Naucz się używać JTable bez JPA, naucz się pisać table model itd.
2. Zaimplementuj swój table model korzystający z encji JPA

Następna dyskusja:

Problem z optimistic lockin...




Wyślij zaproszenie do