2011-01-16 15 views
5

Tworzę grę, więc chcę, aby JFrame uruchamiał się zmaksymalizowany, ale nie chcę, aby użytkownicy zmieniają rozmiar gry, ponieważ może to zepsuć grafikę. Zastanawiam się, jak robić obie w tym samym czasie?Zarówno maksymalizacja i zapobieganie zmianie rozmiaru w JFrame?

Teraz mogę użyć JFrame.setExtendedState (JFrame.MAXIMIZED_BOTH), aby zmaksymalizować, ale jak tylko wykonam JFrame.setResizeable (false), nie mogę użyć setExtendedState(), aby zmaksymalizować to.

Zdaję sobie sprawę, że mogę go maksymalnie zmaksymalizować, zapamiętać szerokość i wysokość, a następnie użyć tego, ale jeśli to możliwe, wolałbym, aby okno wyglądało, jakby było zmaksymalizowane. Pasek tytułu zmienia się, gdy jest zmaksymalizowany, a kiedy ma rozmiar dopasowany do wypełnienia ekranu, jeśli ktoś wie, o czym mówię.

Odpowiedz

6

Działa to dla mnie:

frame.setExtendedState(JFrame.MAXIMIZED_BOTH); 
frame.setVisible(true); 
frame.setResizable(false); 
+1

Dzięki, udało się! Wcześniej miałem setVisible() pod setResizeable(), i to się nie udało, chociaż nie mam pojęcia, dlaczego mogą się ze sobą ingerować. –

3

Jeśli używasz JSR296 jest to sposób to działa wewnątrz singleton klasy Application:

JFrame main = view.getFrame(); 
    main.setExtendedState(JFrame.MAXIMIZED_BOTH); 
    main.pack(); 
    show(view); 
    main.setResizable(false); 

Bez paczka() operacji okno nie jest zmaksymalizowane. Zostało to przetestowane przy użyciu Linuksa i Java 6.

Powiązane problemy