Niedługo będę robił projekt i będę musiał użyć w nim trybu pełnoekranowego.
Narysuje grafikę w oknie. Byłoby wygodne, gdybym użył JFrame lub czegoś podobnego.
Nie wiem, jaka będzie ostateczna rozdzielczość ekranu. Powiedz mi, czy grafika zostanie automatycznie przeskalowana?
JFrame jf = new JFrame();
jf.setSize(1650,1080);
//make it fullscreen;
//now is everything is going to be rescaled so it looks like the original?
java
swing
fullscreen
Yoda
źródło
źródło
Odpowiedzi:
Dodaj:
źródło
frame.setUndecorated(true);
będzie to prawdziwie pełny ekran.DisplayMode.BIT_DEPTH_MULTI
iDisplayMode.REFRESH_RATE_UNKNOWN
zastosowanie nowego trybu wyświetlania. Nie musiałem używaćsetExtendedState
. Przetestowano działanie przy użyciu Kubuntu 15.10 z Javą 8.Exception in thread "main" java.awt.IllegalComponentStateException: The frame is displayable. at java.awt.Frame.setUndecorated(Frame.java:923)
Jeśli chcesz ustawić ramkę w trybie pełnoekranowym (jak film na pełnym ekranie), sprawdź te odpowiedzi.
Klasy
java.awt.GraphicsEnvironment
ijava.awt.GraphicsDevice
służą do umieszczania aplikacji w trybie pełnoekranowym na jednym ekranie (dyspozytywnym).na przykład:
źródło
Użyj
setExtendedState(int state)
, gdzie byłby stanJFrame.MAXIMIZED_BOTH
.źródło
Jednym ze sposobów jest użycie stanu rozszerzonego. To prosi bazowy system operacyjny o maksymalizację JFrame.
Innym podejściem byłoby ręczne maksymalizowanie ekranu zgodnie z wymaganiami.
Ale ma to pułapki w systemie Ubuntu. Praca wokół, którą znalazłem, była następująca.
W Fedorze powyższy problem nie występuje. Ale są komplikacje związane z Gnome lub KDE . Więc lepiej bądź ostrożny. Mam nadzieję że to pomoże.
źródło
Najłatwiejsza naprawa w historii:
źródło
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
rozwiązaniem a Twoim rozwiązaniem?Po prostu użyj tego kodu:
Mam nadzieję, że to pomoże.
źródło
to pomoże ci użyć obiektu natychmiast po ramie
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
źródło
Przede wszystkim jest to rozdzielczość, której chciałbyś użyć
1650,1080
,.Teraz dodaj:
Jeśli masz problemy z komponentami w JFrame, po dodaniu wszystkich komponentów przy użyciu
frame.add(component)
metody, dodaj następującą instrukcję.źródło
To sprawia, że ramka ma rozmiar ekranu
źródło
Możesz użyć narzędzia właściwości.
Ustaw 2 właściwości swojej JFrame :
źródło
Potrzebujesz tylko tego:
Kiedy używasz modyfikatora MAXIMIZED_BOTH, będzie on maksymalny w całym oknie (wysokość i szerokość).
Są tacy, którzy zasugerowali użycie tego:
Nie polecam tego, ponieważ twoje okno nie będzie miało nagłówka, więc nie ma przycisku zamykania / przywracania / minimalizowania.
źródło
Podkreślone wartości, które mam na myśli:
źródło
Ustaw 2 właściwości poniżej:
Mi to pasuje.
źródło