Na forum 4programmers.net korzystamy z plików cookies. Część z nich jest niezbędna do funkcjonowania
naszego forum, natomiast wykorzystanie pozostałych zależy od Twojej dobrowolnej zgody, którą możesz
wyrazić poniżej. Klikając „Zaakceptuj Wszystkie” zgadzasz się na wykorzystywanie przez nas plików cookies
analitycznych oraz reklamowych, jeżeli nie chcesz udzielić nam swojej zgody kliknij „Tylko niezbędne”.
Możesz także wyrazić swoją zgodę odrębnie dla plików cookies analitycznych lub reklamowych. W tym celu
ustaw odpowiednio pola wyboru i kliknij „Zaakceptuj Zaznaczone”. Więcej informacji o technologii cookie
znajduje się w naszej polityce prywatności.
W jaki sposób mogę wyświetlić dwa okna w trybie pełnoekranowym naraz? Chodzi o to, że mam główną ramkę i po wciśnięciu przycisku pojawia się nowe okienko z komunikatem. Sęk w tym, że jeśli główna ramka jest w trybie pełnoekranowym , to druga pojawia się albo jako okno zwykłe (bez opcji setFullscreen(true), albo w osobnej instancji trybu pełnoekranowego. Czy można je wyświetlić jednocześnie?
Jeżeli myślisz o tym, żeby np. dwa okna były widoczne jednocześnie, wykorzystując jednak całą dostępną przestrzeń, tylko podzieloną równo na dwa (horyzontalnie, czy wertykalnie), to musisz pobrać informacje o danym wyświetlaczu, na którym wyświetlasz swoje obiekty i odpowiednio ustawić lokalizację wyświetlanych okien.
Zdecyduj się, czy chodzi Ci o "okno", czy o "scenę". Okno jest w JavaFX reprezentowane przez obiekt klasy Stage, w którym osadza się z kolei obiekt klasy Scene. Jeżeli Ci zależy na tym, żeby jeden "pełny ekran" był wykorzystywany do pracy z wieloma scenami, to podmieniaj po prostu kolejne sceny w ramach jednej instancji obiektu Stage. PS mój przykład robi właśnie to, co napisałeś - wyświetla jedno okno przed drugim w trybie pełnoekranowym.
Może najprościej przedstawie to na rysunku. Wyobraźmy sobie że siedzimy przed komputerem i patrzymy na ekran. Widzimy moją aplikację w trybie pełnoekranowym tak, jak na obrazku
po wciśnięciu przycisku tworzy się to, co widzimy na to:
Mój ostatni pomysł, bo już mi się nie chce domyślać o co Ci chodzi - wyświetlaj okno z mojego przykładu z obiektem Stage w trybie Modality.APPLICATION_MODAL, ale dodaj jeszcze StageStyle.UNDECORATED.
Może prościej - wyobraź sobie, grasz w gothica, wciskasz "e" i wyskakuje ci okno ekwipunku :
Nie otwiera się ono w nowym trybie pelnoekranowym, tylko przesłania część obecnego obrazu żeby się wyświetlić;
Akcja za oknem dzieje się normalnie, nie powoduje ono zastrzymania głównego okna;
Po wciśnięciu ponownym "e" okno znika;
Już na prawdę nie wiem jak to prościej wytłumaczyć
Podejrzewam że chodzi ci o takiego jakby Popup-a, który wyskakuje w głównym oknie. Jeśli chcesz go zrealizować za pomocą nowego okna to w momencie jego wywołania focus/kontekst jest przełączany na nowe okno a to główne które było w full screenie przechodzi do trybu okna. Żeby tak się nie stało musisz przypisać właściciela popup-a, w tym przypadku będzie to główne okno. Już pisałem jak to zrobić wcześniej.
Tutaj masz na stackoverflow przykład : http://stackoverflow.com/a/15626204
Usunąć wpis?
Tej operacji nie będzie można cofnąć.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
Stage
, w którym osadza się z kolei obiekt klasyScene
. Jeżeli Ci zależy na tym, żeby jeden "pełny ekran" był wykorzystywany do pracy z wieloma scenami, to podmieniaj po prostu kolejne sceny w ramach jednej instancji obiektuStage
. PS mój przykład robi właśnie to, co napisałeś -wyświetla jedno okno przed drugim
w trybie pełnoekranowym.