Czy ktoś może pokazać prosty kod/zasób Java Swing, który umieści wyskakujące okienko wyśrodkowane na górze istniejącego okna JFrame po kliknięciu przycisku JFrame?Java Swing: okno dialogowe pozycjonujące na istniejącym oknie
Odpowiedz
Oh..it jest dość prosta:
Say masz JFrame, który zawiera JDialog i chcesz JDialog (po otwarciu), aby być na szczycie JFrame.
Więc w konstruktora JDialog, trzeba mieć coś takiego:
public class MyDialog extends JDialog
public MyDialog(JFrame parent)
{
super.setLocationRelativeTo(parent); // this will do the job
}
Innymi słowy, wskaźnik JFrame przejść do okna i wywołać setLocationRelativeTo (...); metoda.
O jakim rodzaju okna dialogowego mówisz? Jeśli używasz JOptionPane lub czegoś podobnego, ustaw jego element nadrzędny na JFrame i automatycznie wyśrodkuje on okno JFrame.
JOptionPane.showMessageDialog(frame, "Hello, World!");
Jeśli tworzysz własne JDialog, można uzyskać pozycję JFrame Korzystanie JFrame.getLocation() i jego rozmiar przy użyciu JFrame.getSize(). Matematyka jest całkiem prosta; po prostu obliczyć środek JFrame i odjąć połowę szerokości/wysokości JDialog, aby uzyskać lewy górny róg okna dialogowego.
Jeśli twój JDialog nie został jeszcze wyrenderowany, JFrame.getSize() może dać ci zerowy rozmiar. W takim przypadku możesz użyć JDialog.getPreferredSize(), aby dowiedzieć się, jak duży będzie po wyświetleniu na ekranie.
Jeśli chcesz modalnego okna dialogowego i skupione na oknie ...
w konstruktorze okna dialogowego:
class CustomDialog extends JDialog {
public CustomDialog(Frame owner, String title, boolean modal) {
super(owner, title, modal);
setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
...
setSize(150, 100);
setLocationRelativeTo(owner);
}
}
Aby wyświetlić okno dialogowe (za pomocą przycisku itp.):
public void actionPerformed(ActionEvent e) {
dialog.setVisible(true);
}
- 1. Nie blokujące modalne okno dialogowe postępu Swing
- 2. Okno dialogowe modulacji Swing odmawia zamknięcia - czasami!
- 3. Okno dialogowe OpenGL w warstwowym oknie
- 4. Wyświetl okno dialogowe jquery w oknie nadrzędnym
- 5. Okno wyskakujące w Java Swing
- 6. Okno dialogowe debugowania XCode
- 7. Pakiet Java Swing() w oknie nie maksymalizuje, jak tego uniknąć?
- 8. Okno dialogowe otwierania pliku
- 9. Android niestandardowe okno dialogowe
- 10. Okno dialogowe jQuery przewiń do elementu w oknie dialogowym
- 11. Okno dialogowe drukowania Java (natywna) - zmień ikonę
- 12. Okno dialogowe jQuery UI: jak zamknąć okno dialogowe po kliknięciu na zewnątrz?
- 13. Wyszukaj okno dialogowe folderu
- 14. Niestandardowe okno dialogowe w C#?
- 15. Okno dialogowe Jquery: Ukryj przycisk
- 16. Jak modlić okno dialogowe jQuery?
- 17. Android: Okno dialogowe/okno dialogowe operacji niespodziewanie znika
- 18. Zapisz okno dialogowe pliku/pliku otwartego, używając edytora GUI Swing & Netbeans
- 19. Czasowe okno dialogowe niemodalne
- 20. okno dialogowe blendera wejściowego
- 21. Pobierz okno dialogowe pliku
- 22. Okno dialogowe alertu WP7
- 23. Typ/okno dialogowe WPF?
- 24. Okno dialogowe Primefaces + commandButton
- 25. Animować niestandardowe okno dialogowe
- 26. Okno dialogowe logowania PyQt
- 27. Okno dialogowe potwierdzenia GWT
- 28. Modalne okno dialogowe niewidoczne na innych oknach
- 29. Okno dialogowe jquery na przycisku kliknij
- 30. Okno dialogowe/wyskakujące okno z obrazem Androida
Nie zdawałem sobie sprawy, że ta metoda istnieje; bardzo przydatny! – rob
Wow, to naprawdę mi pomogło! Drobne szczegóły jednak ... powinno się nazywać je TYLKO PO ustawieniu rozmiaru okna dialogowego lub pojawi się okno dialogowe z lewym górnym rogiem wyśrodkowane w oknie nadrzędnym. – Nyerguds