Jak mogę utworzyć okno, które jest modalne i ma przycisk maksymalizacji?
Czy można zatem utworzyć modalny model JFrame
lub utworzyć JDialog
za pomocą przycisku maksymalizacji?Jawne okno modalne z przyciskiem maksymalizacji
Odpowiedz
W przypadku większości wyglądów i modów okna modalne (takie jak JDialog
) nie mają przycisku maksymalizacji tylko dlatego, że nie powinny być w ogóle zmaksymalizowane (lub zminimalizowane).
Jest możliwe, że przy niektórych trikach można dodać przycisk maximise
, ale będzie to całkowicie sprzeczne ze sposobem, w jaki ma działać JDialog
. Jeśli potrzebujesz przycisku maksymalizacji, najlepszym rozwiązaniem byłoby użycie JWindow
lub JFrame
zamiast JDialog
. Te okna obsługują maksymalizację i minimalizację.
UWAGA: Nie należy zrobić, nie wiem co.
Sztuczka to zrobić w JDialog
:
setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
Oto alternatywna odpowiedź.
Wypróbuj Are You Missing Maximize Button? przez Santhosh Kumar.
Jest to klasa narzędziowa, która sprawia, że ramka naśladuje okno dialogowe.
Rozwiązanie 1: Testowane na Windows
użyłem JFrame dla modalnego okna
JFrame mainWindow = new JFrame;
mainWindow.setVisible(true);
JFrame modalWindow = new JFrame();
// The next two sentences gives modalWindow modal beahaviour
mainWindow.setEnabled(false);
mainWindow.setFocusable(false);
modalWindow.setVisible(true);
Rozwiązanie 2: Testowane na Ubuntu
Dodałem WindowFocusListener
addWindowFocusListener(new java.awt.event.WindowFocusListener() {
public void windowGainedFocus(java.awt.event.WindowEvent evt) {}
public void windowLostFocus(java.awt.event.WindowEvent evt) {
formWindowLostFocus(evt);}
private void formWindowLostFocus(java.awt.event.WindowEvent evt) {
this.requestFocus();
this.toFront();}
Rozwiązanie 2 jest "super modalne", nie można wybrać żadnego innego okna, bez względu na to, czy jest to Java, natywna, czy jakakolwiek. Bądź ostrożny! – sillo01
- 1. Qt C++ okno minimalizacji i maksymalizacji
- 2. jQuery Movable Modalne okno dialogowe
- 3. Twitter Bootstrap modalne okno migocze
- 4. modalne okno dialogowe jquery onclick?
- 5. Dlaczego modalne/modalne okno dialogowe nazywa się modal/modeless?
- 6. Modalne okno dialogowe Qt i proces główny
- 7. Modalne okno dialogowe niewidoczne na innych oknach
- 8. Okno dialogowe jQuery modalne nad iFrame
- 9. Twitter Bootstrap: Jak zamknąć okno modalne?
- 10. Ponownie otwórz okno dialogowe modalne w MFC
- 11. Angular 4 router i modalne okno dialogowe
- 12. opcja JQuery modalne okno dialogowe nie działa
- 13. Nie blokujące modalne okno dialogowe postępu Swing
- 14. modalne okno dialogowe nad kontrolką Activex
- 15. Jak utworzyć modalne okno dialogowe w Androidzie
- 16. Jak utworzyć okno modalne w JavaFX 2.1
- 17. Bootstrap.js - jak automatycznie wyświetlić okno modalne?
- 18. Kopiuj/wklej nie działa w modalne okno
- 19. Okno modalne jQuery usuwa elementy z mojego formularza
- 20. Jak stworzyć okno modalne z szablonem Twig i Twitter-Bootstrap
- 21. Jak zaimplementować okno bez chromowania z WPF?
- 22. Jak pojawiają się nowe okno z przyciskiem tweet
- 23. okno dialogowe z przyciskiem radiowym i przycisk potwierdzenia
- 24. Okno dialogowe jQuery UI (modalne), zapobiega odświeżeniu strony.
- 25. FireMonkey i pokazujące modalne okno dialogowe właściciela formularza
- 26. Zapobieganie maksymalizacji Winforma?
- 27. Jak otworzyć modalne okno dialogowe w aplecie Java?
- 28. Stwórz okno z efektem pełnokolorowym
- 29. Numeryczny przykład algorytmu maksymalizacji oczekiwań
- 30. Przesłanianie przycisku "X" nad przyciskiem Ticker (przycisk zamykający okno)
Więc nie ma żadnego "legalnego" sposobu, aby to zrobić? : S – user
@ János Harsányi, Nie, jak powiedziałem, nie powinny mieć przycisku maksymalizacji. –
Interesujące h4x, ale zdecydowanie nie jest to dobra praktyka. –