SlideShare una empresa de Scribd logo
Curso de Java
Jesús Cáceres Tello Pág. 1 - 5
El objeto JLayeredPane
Un LayeredPane es un componente Swing que proporciona una tercera dimensión
para posicionar componentes: profundidad, también conocida como eje Z.
Cuando se añade un componente a un panel por capas, se especifica su
profundidad. Los frames con mayor profundidad siempre solapan los frames con
menor profundidad y los frames con menor profundidad siempre están debajo de
frames con mayor profundidad. Los frames con la misma profundidad pueden
cambiar su posición. Por conveniencia, LayeredPane define varias layers (capas)
dentro del rango posible de profundiades para funciones específicas. Por ejemplo,
podemos poner un componente en la capa de mayor funcionalidad, la capa de
arrastre, cuando se arrastan componentes.
Todo contenedor Swing que tiene un panel raíz, como JFrame, JApplet, JDialog,
y JInternalFrame -- automáticamente tiene un layeredpane, aunque la mayoría
de los programas no los utilizan explícitamente. Podemos crear nuestro propio
layeredpane y utilizarlo en cualquier lugar como un contenedor normal Swing.
Swing proporciona dos clases de paneles por capas. La primera, JLayeredPane, es
la clase que utilizan los paneles raíz. La segunda, JDesktopPane, es una subclase
de JLayeredPane que está especializada para contener frames internos. El
ejemplo de esta sección utiliza un ejemplar de JLayeredPane.
Aquí podemos ver una imagen de una aplicación que utiliza paneles de capas para
manejar JInternalFrames en diferentes capas:
Cuando arranca el programa se crean cinco frames internos. El programa permite
mover el icono “Duke” alrededor de los frames. Observa la relación de los frames
Curso de Java
Jesús Cáceres Tello Pág. 2 - 5
en las diferentes capas y los frames de al misma capa.
Las clases JFrame, JApplet, JDialog, y JInternalFrame proporcionan un método
de conveniencia, getLayeredPane, para obtener el panel raíz del layeredpane. El
programa anterior utiliza este método para obtener el layeredpane al que añadirle
los frames internos:
Las líneas en negrita muestran dónde se añade al frame al layeredpane. El método
add utilizado en este programa toma dos argumentos. El primero es el componente
a añadir; el segundo es un Integer indicando la profundidad donde poner el
componente. El valor puede ser cualquier Integer. Sin embargo, la mayoría de los
programas utilizarán uno de aquellos definidos por la clase JLayeredPane:
Nombre de Capa Valor Descripción
FRAME_CONTENT_LAYER
new Integer(-
30000)
Esta capa es utiliza para posicionar el panel
de contenido del frame y la barra de menú.
La mayoría de los programas no la utilizarán.
DEFAULT_LAYER
new
Integer(0)
La mayoría de los componentes van en esta
capa.
PALETTE_LAYER
new
Integer(100)
Esta capa es útil para paletas y barras de
herramientas flotantes.
MODAL_LAYER
new
Integer(200)
Los diálogos modales, como aquellos
proporcionados por JOptionPane,
pertenecen a esta capa.
POPUP_LAYER
new
Integer(300)
Los desplegables van en esta capa porque
necesitan aparecer por encima de todo.
DRAG_LAYER
new
Integer(400)
Un componente se mueve a esta capa cuando
se arrasta. Se debe devolver el componente a
su capa normal cuando se suelta.
Curso de Java
Jesús Cáceres Tello Pág. 3 - 5
La posición de un componente determina su relación con otros componentes de la
misma capa. Al contrario que los números de capas, cuando más bajo sea el
número de posición más alto estará el componente en su capa.
Se puede seleccionar la posición de un componente cuando se le añade al
layeredpane proporcionando un tercer argumento al método add. Las posiciones se
especifican con un int entre -1 y (N-1), donde N es el número de componentes en
la capa. Utilizar -1 es lo mismo que utilizar N-1; indica la posición más inferior.
Utilizar 0 especifica que el componente debería ir en la posición superior de su
capa. Como se ve en la siguiente figura, con la excepción de -1, un número de
posición menor indica una posición superior dentro de la capa.
Tanto la capa de un componente como su posición relativa dentro de la capa
pueden cambiar. Para cambiar la capa de un componente normalmente se utiliza el
método setLayer. Para cambiar la posición de un componente dentro de su capa,
se puede utilizar los métodos moveToBack y moveToFront proporcionados por
JLayeredPane.
Una Nota de Precaución: Cuando se añade un componente a una LayeredPane se
especifica la capa con un Integer. Cuando se utiliza setLayer para cambiar la capa
de un componente, se utiliza un int. Mira las tablas que hay abajo para comprobar
los tipos de los argumentos y de los valores de retorno para otros métodos de esta
clase que trabajan con capas.
Curso de Java
Jesús Cáceres Tello Pág. 4 - 5
El API LayeredPane
Las siguientes tablas listan los métodos y constructores más utilizados de la clase
JLayeredPane. Otros métodos interesantes están definidos por las clases
JComponent y Component.
El API para utilizar LayeredPane se divide en estas categorías:
Crear u Obtener un LayeredPane
Método Propósito
JLayeredPane() Crea un LayeredPane.
JLayeredPane getLayeredPane()
(en JApplet, JDialog, JFrame, y JInternalFrame)
Obtiene el LayeredPAne en un applet, dialog,
frame, o frame interno.
Situar Componentes en Capas
Método Propósito
void add(Component, Integer)
void add(Component, Integer, int)
Añade el componente especificado al
layeredpane. El segundo argumento indica la
capa. El tercer argumento, cuando existe, indica
la posición del componente dentro de la capa.
void setLayer(Component, int)
void setLayer(Component, int, int)
Cambia la capa del componente. El segundo
argumento indica la capa, el tercer argumento,
cuando existe, indica la posición del componente
dentro de la capa.
int getLayer(Component)
int getLayer(JComponent)
Obtiene la capa del componente especificado.
int getComponentCountInLayer(int)
Obtiene el número de componentes en la capa
especificada. El valor devuelto por este método
puede ser útil para calcular los valores de
posición.
Component[]
getComponentsInLayer(int)
Obtiene un array con todos los componentes en
el capa especificada.
int highestLayer()
int lowestLayer()
Calcula la capa más alta o más baja actualmente
utilizadas.
Curso de Java
Jesús Cáceres Tello Pág. 5 - 5
Posicionar Componentes en una Capa
Método Propósito
void setPosition(Component, int)
int getPosition(Component)
Selecciona u obtiene la posición del componente
especificado dentro de su capa.
void moveToFront(Component)
void moveToBack(Component)
Mueve el componente especificado adelante o atrás
en su capa.

Más contenido relacionado

PPT
Design Patterns
PPTX
Windows Presentation Foundation
PPTX
Deployment
PPTX
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
PPTX
C# Dictionary Hash Table and sets
PPTX
Creating the first app with android studio
PPTX
Software quality
PPT
Uml package diagram
Design Patterns
Windows Presentation Foundation
Deployment
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
C# Dictionary Hash Table and sets
Creating the first app with android studio
Software quality
Uml package diagram

La actualidad más candente (20)

PPTX
Encapsulamiento
PDF
Location-Based Services on Android
PPT
Object oriented modeling and design
DOCX
Manual de usuario crud django
PPT
Lecture 12 requirements modeling - (system analysis)
PPTX
virtual function
PPT
Inheritance and Polymorphism
PPTX
Organized and disorganized complexity
PPT
Cocomo model
PPT
Bsc cs ii-dbms- u-iii-data modeling using e.r. model (entity relationship model)
PPTX
Unit 1 OOSE
PPTX
Object Modeling Techniques
PDF
SWE-401 - 7. Software Design Strategies
PPTX
Android intents, notification and broadcast recievers
PDF
Intents in Android
PDF
Introduction to django framework
PDF
PYTHON-Chapter 3-Classes and Object-oriented Programming: MAULIK BORSANIYA
PPTX
Java Spring Framework
PPTX
Programación Orientada a Objetos - Resumen
Encapsulamiento
Location-Based Services on Android
Object oriented modeling and design
Manual de usuario crud django
Lecture 12 requirements modeling - (system analysis)
virtual function
Inheritance and Polymorphism
Organized and disorganized complexity
Cocomo model
Bsc cs ii-dbms- u-iii-data modeling using e.r. model (entity relationship model)
Unit 1 OOSE
Object Modeling Techniques
SWE-401 - 7. Software Design Strategies
Android intents, notification and broadcast recievers
Intents in Android
Introduction to django framework
PYTHON-Chapter 3-Classes and Object-oriented Programming: MAULIK BORSANIYA
Java Spring Framework
Programación Orientada a Objetos - Resumen
Publicidad

Destacado (20)

PPTX
Contenedores Swing en Netbeans
PPT
Trabajo de c.
PPTX
Construyendo un gobierno más humano y digno
PPS
Diferencia entre angel y amigo 2
PPTX
La vida de Noé
PPS
229 mex- sierra tarahumara [cr]
PPTX
Rene descartes
PDF
Recurso ITP y AJD
PPTX
Examen final de sistema (1)
PPTX
Alzheimer
ODP
Jdjdjkmjf
PPTX
La edad media sonia
PDF
Tanxencias por procedementos de potencia e inversión
PPT
laura y marta
PPS
Los principiosdevida
PPS
A mi edad
PPTX
Métodos anticonceptivos
PPS
Especial pa-
DOCX
Mapa conceptual
PPTX
Presentacion
Contenedores Swing en Netbeans
Trabajo de c.
Construyendo un gobierno más humano y digno
Diferencia entre angel y amigo 2
La vida de Noé
229 mex- sierra tarahumara [cr]
Rene descartes
Recurso ITP y AJD
Examen final de sistema (1)
Alzheimer
Jdjdjkmjf
La edad media sonia
Tanxencias por procedementos de potencia e inversión
laura y marta
Los principiosdevida
A mi edad
Métodos anticonceptivos
Especial pa-
Mapa conceptual
Presentacion
Publicidad

Similar a Java layered pane (20)

PDF
Programacion en JAVA 2
PPTX
Programación orientada a objetos
DOCX
Comandos de java
DOCX
Comandos de java
DOCX
PDF
Programación con Pygame V
DOCX
Configuracion de variables de entorno
PDF
Funciones en lenguage c
PDF
Actividad 5
PDF
Semana 4 Interfaces gráficas.pdf
PDF
DOCX
Comandos java
DOCX
PDF
Nvo objects powerbuilder
PDF
Tutorial java fx_8_espanol
PPT
8. técnicas de escritura de códigos
DOCX
Ejemplo j internalframe_gine
PPTX
PPT
Clase 4 JAVA 2012
PPT
Clase 4 java 2011
Programacion en JAVA 2
Programación orientada a objetos
Comandos de java
Comandos de java
Programación con Pygame V
Configuracion de variables de entorno
Funciones en lenguage c
Actividad 5
Semana 4 Interfaces gráficas.pdf
Comandos java
Nvo objects powerbuilder
Tutorial java fx_8_espanol
8. técnicas de escritura de códigos
Ejemplo j internalframe_gine
Clase 4 JAVA 2012
Clase 4 java 2011

Java layered pane

  • 1. Curso de Java Jesús Cáceres Tello Pág. 1 - 5 El objeto JLayeredPane Un LayeredPane es un componente Swing que proporciona una tercera dimensión para posicionar componentes: profundidad, también conocida como eje Z. Cuando se añade un componente a un panel por capas, se especifica su profundidad. Los frames con mayor profundidad siempre solapan los frames con menor profundidad y los frames con menor profundidad siempre están debajo de frames con mayor profundidad. Los frames con la misma profundidad pueden cambiar su posición. Por conveniencia, LayeredPane define varias layers (capas) dentro del rango posible de profundiades para funciones específicas. Por ejemplo, podemos poner un componente en la capa de mayor funcionalidad, la capa de arrastre, cuando se arrastan componentes. Todo contenedor Swing que tiene un panel raíz, como JFrame, JApplet, JDialog, y JInternalFrame -- automáticamente tiene un layeredpane, aunque la mayoría de los programas no los utilizan explícitamente. Podemos crear nuestro propio layeredpane y utilizarlo en cualquier lugar como un contenedor normal Swing. Swing proporciona dos clases de paneles por capas. La primera, JLayeredPane, es la clase que utilizan los paneles raíz. La segunda, JDesktopPane, es una subclase de JLayeredPane que está especializada para contener frames internos. El ejemplo de esta sección utiliza un ejemplar de JLayeredPane. Aquí podemos ver una imagen de una aplicación que utiliza paneles de capas para manejar JInternalFrames en diferentes capas: Cuando arranca el programa se crean cinco frames internos. El programa permite mover el icono “Duke” alrededor de los frames. Observa la relación de los frames
  • 2. Curso de Java Jesús Cáceres Tello Pág. 2 - 5 en las diferentes capas y los frames de al misma capa. Las clases JFrame, JApplet, JDialog, y JInternalFrame proporcionan un método de conveniencia, getLayeredPane, para obtener el panel raíz del layeredpane. El programa anterior utiliza este método para obtener el layeredpane al que añadirle los frames internos: Las líneas en negrita muestran dónde se añade al frame al layeredpane. El método add utilizado en este programa toma dos argumentos. El primero es el componente a añadir; el segundo es un Integer indicando la profundidad donde poner el componente. El valor puede ser cualquier Integer. Sin embargo, la mayoría de los programas utilizarán uno de aquellos definidos por la clase JLayeredPane: Nombre de Capa Valor Descripción FRAME_CONTENT_LAYER new Integer(- 30000) Esta capa es utiliza para posicionar el panel de contenido del frame y la barra de menú. La mayoría de los programas no la utilizarán. DEFAULT_LAYER new Integer(0) La mayoría de los componentes van en esta capa. PALETTE_LAYER new Integer(100) Esta capa es útil para paletas y barras de herramientas flotantes. MODAL_LAYER new Integer(200) Los diálogos modales, como aquellos proporcionados por JOptionPane, pertenecen a esta capa. POPUP_LAYER new Integer(300) Los desplegables van en esta capa porque necesitan aparecer por encima de todo. DRAG_LAYER new Integer(400) Un componente se mueve a esta capa cuando se arrasta. Se debe devolver el componente a su capa normal cuando se suelta.
  • 3. Curso de Java Jesús Cáceres Tello Pág. 3 - 5 La posición de un componente determina su relación con otros componentes de la misma capa. Al contrario que los números de capas, cuando más bajo sea el número de posición más alto estará el componente en su capa. Se puede seleccionar la posición de un componente cuando se le añade al layeredpane proporcionando un tercer argumento al método add. Las posiciones se especifican con un int entre -1 y (N-1), donde N es el número de componentes en la capa. Utilizar -1 es lo mismo que utilizar N-1; indica la posición más inferior. Utilizar 0 especifica que el componente debería ir en la posición superior de su capa. Como se ve en la siguiente figura, con la excepción de -1, un número de posición menor indica una posición superior dentro de la capa. Tanto la capa de un componente como su posición relativa dentro de la capa pueden cambiar. Para cambiar la capa de un componente normalmente se utiliza el método setLayer. Para cambiar la posición de un componente dentro de su capa, se puede utilizar los métodos moveToBack y moveToFront proporcionados por JLayeredPane. Una Nota de Precaución: Cuando se añade un componente a una LayeredPane se especifica la capa con un Integer. Cuando se utiliza setLayer para cambiar la capa de un componente, se utiliza un int. Mira las tablas que hay abajo para comprobar los tipos de los argumentos y de los valores de retorno para otros métodos de esta clase que trabajan con capas.
  • 4. Curso de Java Jesús Cáceres Tello Pág. 4 - 5 El API LayeredPane Las siguientes tablas listan los métodos y constructores más utilizados de la clase JLayeredPane. Otros métodos interesantes están definidos por las clases JComponent y Component. El API para utilizar LayeredPane se divide en estas categorías: Crear u Obtener un LayeredPane Método Propósito JLayeredPane() Crea un LayeredPane. JLayeredPane getLayeredPane() (en JApplet, JDialog, JFrame, y JInternalFrame) Obtiene el LayeredPAne en un applet, dialog, frame, o frame interno. Situar Componentes en Capas Método Propósito void add(Component, Integer) void add(Component, Integer, int) Añade el componente especificado al layeredpane. El segundo argumento indica la capa. El tercer argumento, cuando existe, indica la posición del componente dentro de la capa. void setLayer(Component, int) void setLayer(Component, int, int) Cambia la capa del componente. El segundo argumento indica la capa, el tercer argumento, cuando existe, indica la posición del componente dentro de la capa. int getLayer(Component) int getLayer(JComponent) Obtiene la capa del componente especificado. int getComponentCountInLayer(int) Obtiene el número de componentes en la capa especificada. El valor devuelto por este método puede ser útil para calcular los valores de posición. Component[] getComponentsInLayer(int) Obtiene un array con todos los componentes en el capa especificada. int highestLayer() int lowestLayer() Calcula la capa más alta o más baja actualmente utilizadas.
  • 5. Curso de Java Jesús Cáceres Tello Pág. 5 - 5 Posicionar Componentes en una Capa Método Propósito void setPosition(Component, int) int getPosition(Component) Selecciona u obtiene la posición del componente especificado dentro de su capa. void moveToFront(Component) void moveToBack(Component) Mueve el componente especificado adelante o atrás en su capa.