En el diseño de la interfaz, se debe colocar un contenedor en muchos componentes. Java.awt define una variedad de clases de diseño, cada clase de diseño corresponde a una estrategia de diseño. La siguiente categoría de diseño:
• FlowLayout, colocó componentes a su vez.
• BoarderLayout, coloque los componentes en el límite.
• CardLayout, componentes de apila como tarjetas de póker, y solo puede mostrar uno de los componentes cada vez.
• GridLayout divide el área de visualización en cuadrículas iguales de acuerdo con líneas y columnas, y los componentes se colocan en estas cuadrículas a su vez.
• GridbagLayout divide el área de visualización en muchas unidades pequeñas, y cada componente puede ocupar una o más unidades pequeñas.
Entre ellos, GridbagLayout puede realizar un control de posición fina, y el más complicado.
Cada contenedor tiene un administrador de diseño, y decide cómo organizar componentes en el contenedor. El Manager de Layout es una clase que implementa la interfaz LayoutManager.
1. Diseño de FlowlayOut
El diseño de FlowLayout es organizar los componentes de izquierda a derecha de acuerdo con el orden de la adición, y luego transferir a la línea para continuar de izquierda a derecha después de una línea, y los componentes en cada línea están dispuestos en el medio. Esta es la estrategia de diseño más fácil.
FlowLayout es el diseño predeterminado de pequeñas aplicaciones y paneles.
1.FlowlayOut (), genere un diseño predeterminado de FlowLayout. Por defecto, el componente está en el medio, con 5 píxeles.
2. FlowLayout (int Aligment), establezca el método de alineación de cada componente. La alineación puede estar disponible para FlowLayout.Lft, FlowLayout.Center, FlowLayout.Richt.
3.FlowlayOut (int Aligment, int Horz, int vert), establece el método de alineación y establece el espaciado horizontal Horz y el vertical de espaciado vertical del componente, establezca el diseño del contenedor con el método del contenedor de súper clases. Por ejemplo, el código SetLayout (nuevo FlowLayout ()) establece el diseño de FlowLayout para el contenedor. El método de agregar un componente al contenedor es agregar (nombre del componente).
2. Diseño de BorderLayout (JWindow, JFrame, Diseño predeterminado de JDialog)
La estrategia de diseño de BorderLayout es simplemente dividir el espacio en el contenedor en las cinco áreas del este "este", oeste "oeste", sur "sur", norte "norte" y "centro". Al unir el componente, debe indicar en qué área se coloca en la que se coloca el componente. Pon un componente en una posición. Si desea agregar múltiples componentes en una ubicación determinada, primero debe agregar el componente de la ubicación para colocar otro contenedor y luego agregar el contenedor a esta posición.
El método de estructura del diseño de BorderLayout es:
(1) BorderLayout (), genere un diseño predeterminado de BorderLayout. Por defecto, no hay brecha.
(2) BorderLayout (int horz, int vert), establezca el espacio horizontal y vertical entre los componentes.
El método de configuración de la estrategia de diseño BorderLayout es SetLayout (nuevo BorderLayout ()). El método de agregar el componente al contenedor es agregar (nombre del componente, ubicación).
El diseño de BorderLayout es el diseño predeterminado de JWindow, JFrame, JDialog.
[Ejemplo 11-5] La aplicación tiene cinco etiquetas, que se colocan en las cinco áreas del este, oeste, sur, norte y medio y medio, respectivamente.
Import javax.swing.*; Ventana "); // Crear un objeto de contenedor de ventana MW.SetSize (250,200); Container Con = MW.GetContentPane (); Con.setLayout (new BorderLayout ()); Label1 = New JLabel (" East Tag "); / / / / / / / El valor predeterminado a Qi Qi Labor2 = New JLabel ("South Tag", JLabel.Center); New JLabel ("" Mid -Label ", jlabel.center); .add (etiqueta4, "norte");
3. Diseño de GridLayout
El diseño de GridLayout es dividir el contenedor en una forma de cuadrícula similar a la cuadrícula. Las características del diseño de GridLayout son que el posicionamiento del componente es más preciso. Dado que cada cuadrícula en el diseño de cuadros de cuadrícula tiene la misma forma y tamaño, los componentes que se requieren para colocar en el contenedor también deben mantener el mismo tamaño.
El método constructivo del diseño de GridLayout es:
(1) GridLayout (), genere un diseño de GridLayout de una sola columna. Por defecto, no hay brecha.
(2) GridLayout (int row, int color), establezca un diseño de gridLayout con fila y columna Col.
(3) GridLayout (int row, int color, int horz, int vert), establezca el número de filas y columnas del diseño, el espaciado horizontal y vertical del componente.
El diseño de GridLayout se basa en puntos de referencia de comportamiento. de prioridad (aumentado automáticamente según el componente). Cada cuadrícula del diseño de cuadros de rejilla debe completarse en el componente.
[Ejemplo 11-6] Pequeñas aplicaciones ponen varios botones y varias etiquetas en JPanel, luego colocan jpanel en jscrollpane. que los requisitos reales del panel.
Import java.applet.*; NUEVA DIMENTACIÓN (W, H); ++) {p.add (new JLabel ()); ); (W+60, H+60); ();}} Clase Scrolpane excrollPane {public scrollpane (componente p) {super (p); Ow mywindow; {Mywindow = new MyWindow (400, 350);}}
El diseño de GridLayout requiere el tamaño de todos los componentes para ser consistente, lo que puede no ser lo suficientemente hermoso como para usar la apariencia de la interfaz. Un remedio es combinar algunos componentes en un contenedor, luego usar este contenedor como componente y luego colocarlo en el diseño de cuadros de cuadrícula. Este es el anidado de contenedores mencionado anteriormente. Por ejemplo, el contenedor A utiliza el diseño de GridLayout para dividir el contenedor en cuadrículas; El contenedor B y C también se puede configurar en el diseño de GridLayout, divídate en varias cuadrículas o también se pueden configurar en otros diseños. De esta manera, a partir de la apariencia, el tamaño de cada componente es diferente.
4. Diseño de CardLayout
Aunque el contenedor que usa el diseño de la capilla puede acomodar múltiples componentes, múltiples componentes tienen el mismo espacio de visualización y solo se puede mostrar un componente en un momento determinado. Al igual que una pila de tarjetas de póker solo puede mostrar la superior a la vez, este componente mostrado ocupará todo el espacio del contenedor. Los pasos de diseño de diseño de tarjetas son los siguientes:
Primero cree un objeto de diseño CardLayout. Luego, use el método SetLayout () para establecer el diseño para el contenedor. La mayoría, el método add () para llamar al contenedor agrega el componente al contenedor. El método para agregar el componente de la estrategia de diseño de la capilla es:
Agregar (código de componente, componente);
El código de componente es una cadena, que se da por separado y no tiene nada que ver con el nombre del componente.
Por ejemplo, el siguiente código establece el diseño de CardLayout para un contenedor jpanel:
CardLayout MyCard = nuevo CardLayout ();
Hay dos formas de mostrar un componente en el método proporcionado por la clase CardLayout:
(1) Código en forma de show (nombre del contenedor, código de componente) y especifique una pantalla de componente en un contenedor. Por ejemplo, el siguiente código especifica el componente del contenedor P para mostrar este componente:
mycard.show (p, k);
(2) El componente se muestra en orden de agregar el contenedor de acuerdo con el componente.
Primero (contenedor): por ejemplo, código mycard.first (p);
Último (contenedor): por ejemplo, MyCard.last (P);
Siguiente (contenedor): por ejemplo, MyCard.Next (P);
Anterior (contenedor): mycard.previous (p);
[Ejemplo 11-7] Las aplicaciones pequeñas usan el diseño del panel de la tarjeta. La ventana tiene 4 botones, que son responsables de mostrar el primer componente de P, el último componente, el primer componente del componente actual y el último componente del componente actual.
Import java.applet.*; (); MyCard; Void init () {setLayout (nuevo BorderLayout ()); MyCard); ); (P2, "Primero", esto); iftactionCommand (). (E.GetActionCommand (). Equals ("前一个")) MyCard.Previous (P);
5. Método de diseño y setbounds
El diseño de aire es establecer el diseño de un contenedor en el diseño nulo. El diseño de aire utiliza el método setBounds () para establecer el tamaño del componente mismo y la posición en el contenedor:
SetBounds (int x, int y, int ancho, int altura)
El área ocupada por el componente es un parámetro rectangular, y y es la coordenada de posición de la esquina superior izquierda del componente en el contenedor; Hay dos pasos para los componentes de reasentamiento de diseño de aire: primero use el método add () para agregar componentes en el contenedor del cuerpo. Luego llame al método setBounds () para establecer la posición del componente en el contenedor y el tamaño del componente mismo. Otros métodos relacionados con los componentes:
1.getSize ().
2.getSize ().
3.SetVGap (ing VGAP)
4.sethgap (int hgap);