Czy istnieje sposób na uzyskanie kontenera najwyższego poziomu komponentu? Na przykład mam JToolbar i chcę wiedzieć w jednym monencie kontener najwyższego poziomu tego JToolbar jest moim JFrame lub jest jego własnym oknem, JDialog.Jak zdobyć kontener najwyższego poziomu JComponent?
7
A
Odpowiedz
14
SwingUtilities.windowForComponent(...);
6
Jeśli składnik został dodany do hierarchii, można zajrzeć do pojemnika na najwyższym poziomie przez rekurencyjne wywołanie getParent
:
Container c = toolbar;
while (c.getParent() != null)
{
c = c.getParent();
}
if (c instanceof JFrame)
{
//...
}
Powiązane problemy
- 1. Nieoczekiwany błąd najwyższego poziomu
- 2. Uzyskiwanie najwyższego poziomu UIViewController
- 3. Numer w domenie najwyższego poziomu?
- 4. Ember.js - trasa indeksu kontra trasa "najwyższego poziomu"?
- 5. Przekieruj subdomeny do folderu domeny najwyższego poziomu
- 6. Kontrola treści musi być kontrolą najwyższego poziomu.
- 7. jQuery: elementy najwyższego poziomu zawierające x
- 8. Wordpress: Pokaż tylko kategorię najwyższego poziomu
- 9. Jak zdobyć tylko divy pierwszego poziomu?
- 10. Jak przetestować kod wywołujący funkcje najwyższego poziomu w Kotlin?
- 11. Jenkins: jak tworzyć wiele projektów najwyższego poziomu z repozytorium git?
- 12. Jak rozpoznać okna X11 najwyższego poziomu przy użyciu xlib?
- 13. Jak załadować XIB za pomocą ViewController najwyższego poziomu?
- 14. Jak spakować pliki bez folderu najwyższego poziomu, ale zachować podfoldery
- 15. Ant: jak przekazać wartości do właściwości z poziomu najwyższego poziomu build.xml do build.xml w podfolderach
- 16. Uzyskaj odwołanie do klasy z funkcji najwyższego poziomu w kotlince
- 17. Chcę poznać różnicę między niskopoziomowymi funkcjami a funkcjami najwyższego poziomu
- 18. ValueError: próba względnego importu poza pakiet najwyższego poziomu
- 19. Ustaw globalną zmienną najwyższego poziomu lub Super Dupera w PHP?
- 20. Zadzwoń do najwyższego poziomu funkcji z groovy metody
- 21. Powrót do wywołania najwyższego poziomu funkcji rekursywnej w Lisp
- 22. Uruchamianie pliku binarnego bez skryptu najwyższego poziomu w SLURM
- 23. Z wyłączeniem katalogu najwyższego poziomu z pakietu setuptools
- 24. Czy można zarejestrować zamiar najwyższego poziomu w interfejsie API Mirror?
- 25. 'git clone' respects umask, z wyjątkiem katalogu projektu najwyższego poziomu
- 26. Dlaczego interfejs można deklarować tylko w klasie najwyższego poziomu?
- 27. CAML Zapytanie o wybranie tylko folderów najwyższego poziomu
- 28. Java: Dlaczego możemy zdefiniować klasę najwyższego poziomu jako prywatną?
- 29. poza błędem pakietu najwyższego poziomu w względnym imporcie
- 30. błąd TS1046: modyfikator "deklaruj" wymagany dla elementu najwyższego poziomu
Dzisiaj w obliczu tego samego problemu i zrobił dokładnie metodę recurive i działało dobrze. W rzeczywistości zatwierdzona odpowiedź nie będzie działać, jeśli kontenerem komponentu jest JPanel. Uważam więc, że druga odpowiedź jest bardziej elastyczna, ponieważ pozwala wybrać, na co zwrócić uwagę. – HoNgOuRu