Swing + jMonkey (jme3)

0

Mam za zadanie stworzyć aplikację (GUI )przedstawioną na schemacie poniżej

user image

Chcę w swinga dodać okno z animacjami, gdzie animacje będą sterowane z swinga. Wiem jak sterować animacjami, które zmienne trzeba zmieniać także z tym nie ma problemu. Chodzi mi oto jak ma wyglądać funkcja przekazująca parametry do okna jmonkey i jak w ogóle dodać taki ciężki komponent? Czy tu trzeba rozpocząć nowy wątek a później, aby zmienić animację zniszczyć go i utworzyć nowy z nowymi parametrami? Pierwszym rozwiązaniem wydaje się być stworzenie nowego panelu JPanel, dodanie do niego komponentu i dodanie panelu do ramki bądź innego panelu, ale to rozwiązanie jest chyba tylko dla lekkich komponentów.
Jakie są Wasze propozycje?

0

A próbowałeś już coś robić? Czytałeś tutoriale? Spróbuj po prostu wrzucić komponent JME3 na JPanel i zobacz co się stanie.

0

Znalazłem kilka tutoriali na oficjalnej stronie jmonkey i opracowuje je. Chodziło mi bardziej, aby uzyskać wskazówki czy porady od kogoś kto się tym zajmował, podzielił się doświadczeniem jak to w praktyce wychodzi, bo jak wiadomo każdy zachwala swój produkt a w rzeczywistości różnie to wychodzi.

0

Udało mi się odpalić to ładnie w Canvas. Teraz pozostaje przekazywanie parametrów które będą wskazywały na konkretną animację. Macie jakieś rady gdzie najlepiej i bezboleśnie zapoznać się z przekazywaniem parametrów to pracującego wątku i aktualizowanie go?

0

Możesz zaimplementować przesyłanie komunikatów za pomocą java.util.concurrent.BlockingQueue. Załóżmy, że masz interfejs Command i klasy go implementujące, np LoadModel, GetStatistics, itd i za ich pomocą odpytujesz coś wątek. Podobnie możesz zrobić drugą BlocingQueue do otrzymywania rezultatów. Tutaj np możesz zrobić interfejs Answer i klasy go implementujące np GameStatistics. Miałbyś wtedy dwie kolejki, BlockingQueue<Command> i BlockingQueue<Answer>. Dzięki temu, że mają metody do wrzucania i wyciągania elementów z konfigurowalnym czasem oczekiwania, możesz w miarę łatwo uniknąć zamrożenia interfejsu i obciążania procka niepotrzebnymi przebiegami pętli jednocześnie.

To był oczywiście pomysł na szybko i nie mam pojęcia jak się sprawdzi :)

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