¿Hay alguna manera de obtener el contenedor de nivel superior de un componente? Por ejemplo, tengo una JToolbar y quiero saber por un momento que el contenedor de nivel superior de esa JToolbar es mi JFrame o es su propia ventana, un JDialog.¿Cómo obtener el contenedor de nivel superior de un JComponent?
7
A
Respuesta
14
SwingUtilities.windowForComponent(...);
6
Si el componente ha sido añadido a la jerarquía, puede buscar el contenedor de nivel superior mediante la llamada recursiva getParent
:
Container c = toolbar;
while (c.getParent() != null)
{
c = c.getParent();
}
if (c instanceof JFrame)
{
//...
}
Cuestiones relacionadas
- 1. PyQt: ¿cómo obtener el nivel superior padre del widget dado?
- 2. ¿Cuál es la diferencia entre el panel raíz y el contenedor de nivel superior, en Swing?
- 3. ¿Cómo elimino un QTreeWidgetItem de nivel superior de un QTreeWidget?
- 4. ¿Cómo implementar el manejo de excepciones de nivel superior?
- 5. Número en el dominio de nivel superior?
- 6. Cómo obtener un XML plano para que las entidades externas se combinen con el nivel superior
- 7. Excluyendo un directorio de nivel superior de un paquete setuptools
- 8. OCaml de salida de nivel superior formateo
- 9. ocaml módulo de nivel superior de carga
- 10. cómo mantener gtk.window siempre en el nivel superior
- 11. ¿Cómo ejecuto un contenedor desde el interior de un contenedor?
- 12. Utilice @JacksonInject con @JsonCreator en un mapa de nivel superior
- 13. ¿Definir un no-op de nivel superior en C++?
- 14. JAVA element.getElementsByTagName Restringir a nivel superior
- 15. En Buffers de protocolo, ¿cómo importar un archivo desde el directorio de nivel superior?
- 16. Cómo prevenir IFRAME redirija ventana de nivel superior
- 17. ¿Cómo enumerar solo los directorios de nivel superior en Python?
- 18. R Idioma: ¿Cómo saltar al siguiente ciclo de nivel superior?
- 19. ¿Cómo imprimiría los datos en un árbol binario, nivel por nivel, comenzando en la parte superior?
- 20. ¿Cómo selecciono un atributo de nivel superior de una columna xml en SQL Server 2005?
- 21. OCaml de nivel superior con extensiones de sintaxis
- 22. ¿Cómo obtener la posición superior de un elemento?
- 23. Cómo obtener datos en un contenedor de histogramas
- 24. ¿Cómo obtener solo divs de primer nivel?
- 25. Haskell Error - Expresión desnuda en nivel superior
- 26. ¿Cómo obtener hijos de un contenedor WPF por tipo?
- 27. Quiero saber la diferencia entre las funciones de nivel bajo y las funciones de nivel superior
- 28. ¿El estado de Git muestra un archivo sin seguimiento en un nivel superior?
- 29. capa de base de datos de nivel superior para Android?
- 30. Cómo importar un módulo desde un directorio de nivel superior del script actual
Hoy he enfrentado a este mismo problema e hizo exactamente el método recurive y funcionó bien En realidad, la respuesta aprobada no funcionará si el contenedor del componente es un JPanel. Así que creo que la segunda respuesta es más flexible porque le permite elegir qué buscar ... – HoNgOuRu