Documente Academic
Documente Profesional
Documente Cultură
Varias clases de AWT y Swing proporcionan controladores de distribucin para uso general:
BorderLayout
BoxLayout
CardLayout
FlowLayout
GridBagLayout
GridLayout
GroupLayout
SpringLayout
En esta seccin se muestra un ejemplo de interfaces grficas de usuario que utilizan estos controladores de distribucin, y le dice dnde
encontrar el cmo-a la pgina para cada controlador de distribucin. Puede encontrar enlaces para ejecutar los ejemplos en el cmo-a
pginas y en el ndice de ejemplo .
Nota: Esta leccin cubre escribir cdigo de diseo a mano, que puede ser un reto. Si no est interesado en conocer todos los detalles
de la gestin de diseo, es posible que prefiera utilizar el
desarrollo para disear su interfaz grfica de usuario. Una de estas herramientas es el constructor IDE NetBeans . De lo contrario, si
desea codificar a mano y no desea utilizar GroupLayout, a continuacin, GridBagLayoutse recomienda que el prximo
director de diseo ms flexible y potente.
Si usted est interesado en utilizar JavaFX para crear su interfaz grfica de usuario, vea Trabajar con formatos de JavaFX .
BorderLayout
panel de contenido es el contenedor principal en todos los marcos, applets y cuadros de dilogo.) Un
componentes en un mximo de cinco reas: arriba, abajo, izquierda, derecha y centro. Todo el espacio adicional se coloca en el rea
central. Barras de herramientas que se crean mediante JToolBar deben crearse dentro de un
BorderLayoutcontenedor, si usted
quiere ser capaz de arrastrar y soltar las barras lejos de sus posiciones de partida. Para ms detalles, consulte Cmo usar
BorderLayout .
BoxLayout
La BoxLayoutclase pone componentes en una nica fila o columna. Respeta los componentes solicitaron mximos tamaos y
tambin le permite alinear los componentes. Para ms detalles, consulte Cmo usar BoxLayout .
CardLayout
con pestaas , lo que proporciona una funcionalidad similar pero con una interfaz grfica de usuario predefinido. Para ms detalles,
consulte Cmo utilizar CardLayout .
FlowLayout
FlowLayoutes el controlador de distribucin por defecto para cada JPanel. Simplemente expone componentes en una sola
fila, comenzando una nueva fila si su envase no es lo suficientemente amplia. Ambos paneles en CardLayoutDemo,
mostrado anteriormente , utilizan FlowLayout. Para ms detalles, consulte Cmo usar FlowLayout .
GridBagLayout
GridBagLayoutes un sofisticado, gestor de diseo flexible. Se alinea componentes colocndolos dentro de una cuadrcula de
las clulas, lo que permite a los componentes abarcan ms de una celda. Las filas de la cuadrcula pueden tener diferentes alturas, y
columnas de la cuadrcula pueden tener diferentes anchuras. Para ms detalles, consulte Cmo usar GridBagLayout .
Diseo de cuadrcula
GridLayoutsimplemente hace un montn de componentes iguales en tamao y los muestra en el nmero solicitado de filas y
columnas. Para ms detalles, consulte Cmo usar GridLayout .
GroupLayout
GroupLayoutes un controlador de distribucin que fue desarrollado para el uso de las herramientas de desarrollo GUI, pero
tambin se puede utilizar manualmente. GroupLayouttrabaja con los diseos horizontal y vertical por separado. La disposicin
se define para cada dimensin de forma independiente. En consecuencia, sin embargo, cada componente debe ser definido dos veces
en el diseo. La ventana de bsqueda se muestra ms arriba es un ejemplo de una
consulte Cmo utilizar GroupLayout .
SpringLayout
SpringLayoutes un controlador de distribucin flexible diseado para su uso por los constructores de GUI. Se le permite
especificar las relaciones precisas entre los bordes de los componentes bajo su control. Por ejemplo, es posible definir que el borde
izquierdo de un componente es una cierta distancia (que se puede calcular de forma dinmica) desde el borde derecho de un segundo
componente. SpringLayoutEstablece a los hijos de su contenedor asociado de acuerdo con un conjunto de restricciones, ya
que deber verse en Cmo utilizar SpringLayout
Gestores de diseo
Un controlador de distribucin es un objeto que implementa la
los componentes dentro de un contenedor. Aunque los componentes pueden proporcionar tamao y la alineacin consejos, controlador
de distribucin de un envase tiene la ltima palabra sobre el tamao y la posicin de los componentes dentro del contenedor.
Nota: Esta leccin cubre escribir cdigo de diseo a mano, que puede ser un reto. Si no est interesado en conocer todos los detalles
de la gestin de diseo, es posible que prefiera utilizar el
desarrollo para disear su interfaz grfica de usuario. Una de estas herramientas es el constructor IDE NetBeans . De lo contrario, si
desea codificar a mano y no desea utilizar GroupLayout, a continuacin, GridBagLayoutse recomienda que el prximo
director de diseo ms flexible y potente.
Si usted est interesado en utilizar JavaFX para crear su interfaz grfica de usuario, vea Trabajar con formatos de JavaFX .
En esta seccin se describen algunas de las tareas comunes relacionadas con el uso de controladores de distribucin:
JPanel
s y paneles de
FlowLayout, a menos que se especifique de manera diferente
cuando se crea el JPanel. Paneles de contenido utilizan BorderLayoutde forma predeterminada. Si no te gusta el
Como regla general, los nicos recipientes cuyo diseo gerentes que usted necesita preocuparse acerca son
contenido . Cada JPanelobjeto se inicializa para utilizar una
controlador de distribucin por defecto de que un panel o panel de contenido utiliza, usted es libre de cambiar a uno diferente. Sin
embargo, a menos que est utilizando
creacin de prototipos. Cualquier aplicacin real ser necesario restablecer el controlador de distribucin. Una vez ms, se debe utilizar
una herramienta apropiada para ello, en lugar de codificar el gerente de la mano.
Puede configurar el controlador de distribucin de un panel utilizando el
A pesar de que recomendamos que utilice controladores de distribucin, se puede realizar el diseo sin ellos. Al establecer la propiedad
del diseo de un contenedor a nula, a sacar el contenedor no utilice el gestor de diseo. Con esta estrategia, llamada posicin absoluta ,
se debe especificar el tamao y la posicin de cada componente dentro de ese contenedor. Una desventaja de la posicin absoluta es
que no ajusta bien cuando se cambia el tamao del contenedor de nivel superior. Asimismo, no se adaptan bien a las diferencias entre
usuarios y sistemas, tales como diferentes tamaos de fuente y locales .
addmtodo dependen
del controlador de disposicin que el panel o panel de contenido est utilizando. De hecho, algunos controladores de distribucin ni
siquiera requieren que aadir el componente de forma explcita; por ejemplo, GroupLayout. Por
ejemplo, BorderLayoutrequiere que se especifique el rea a la que hay que aadir el componente (utilizando una de las
constantes definidas en
JPanely paneles de contenido generalmente proporcionan API que se debe utilizar en lugar
del addmtodo. Por ejemplo, en lugar de aadir un componente directamente a un panel de desplazamiento (o, en realidad, a su
vista), que o bien especificar el componente en el
API especializado como este, no es necesario saber qu controlador de distribucin (si lo hay) muchos contenedores Swing usan. (Para
los curiosos: desplazarse paneles de pasar a utilizar un controlador de distribucin llamado
ScrollPaneLayout.)
Para obtener informacin acerca de cmo agregar componentes a un contenedor especfico, consulte la pgina de cmo hacerlo para el
contenedor. Usted puede encontrar el componente de cmo hacerlo utilizando pginas Cmo utilizar varios componentes .
utilizar BoxLayout .
Hay tres factores que influyen en la cantidad de espacio entre los componentes visibles en un recipiente:
El controlador de distribucin
Algunos controladores de distribucin ponen automticamente el espacio entre los componentes; otros no lo
hacen. Algunos le permite especificar la cantidad de espacio entre los componentes. Ver la pgina de cmo hacerlo
para cada controlador de distribucin para obtener informacin sobre el espaciamiento de apoyo.
componentes invisibles
Puede crear componentes ligeros que realizan ninguna pintura, pero que puede ocupar espacio en la interfaz grfica de
usuario. A menudo, se utilizan componentes invisibles en contenedores controlados por
Componentmtodo de
Nota: Se debe tener cuidado de que la orientacin componente se aplica a los recicladores, editores y cualquier otro componente
inalcanzables a travs de recorrido normal del rbol de contenidos.
necesidades de diseo.
Escenario: Necesitamos mostrar un componente en el mismo espacio que se puede conseguir.
Si es el nico componente de su contenedor, utilice
GridLayouto BorderLayout. De lo
SpringLayoutes una eleccin natural para esto. La SpringUtilitiesclase utilizada por varios
ejemplos del manual define un makeCompactGridmtodo que le permite alinear fcilmente varias filas y
columnas de los componentes.
Escenario: Usted tiene un diseo complejo con muchos componentes.
Considere, ya sea usando un controlador de disposicin muy flexible, tal
como GridBagLayouto SpringLayout, o la agrupacin de los componentes en uno o
ms JPanels para simplificar el diseo. Si se toma el ltimo enfoque, cada uno JPanelpodra utilizar un gestor
de diseo diferente.
MiGLayout