¿Cuáles son las cosas que tiene que hacer para hacer funcionar un panel con un controlador de distribución nula?

StackOverflow https://stackoverflow.com/questions/3542946

  •  30-09-2019
  •  | 
  •  

Pregunta

Yo estaba teniendo problemas para conseguir un gestor de trabajo diseño nula, y me encontré con este gran página con las cosas a tener en cuenta cuando se utiliza un controlador de distribución nula. Uno de ellos era mi problema, y ??rápidamente me siguió adelante.

Ahora estoy teniendo problemas similares con otro panel utilizando un controlador de distribución nula. Sin embargo, no puedo encontrar esta página en cualquier lugar! Entonces, ¿qué son las cosas?

En el proceso de hacer esta pregunta, me di cuenta de mi problema. Todavía quiero agregar este conocimiento para el sitio, ya que no pude encontrar esta pregunta en cualquier lugar. Podría ser útil a alguien más.

Para aclarar, ya he determinado que necesito utilizar un controlador de disposición nula para este panel, debido al arrastre y requisitos de animación. Esa no es la cuestión.

¿Fue útil?

Solución

He encontrado el enlace que estaba buscando:

http://download.oracle.com/javase/tutorial /uiswing/layout/none.html

Se da estas tres cosas:

  • controlador de distribución Conjunto del recipiente a nula llamando Container.setLayout(null).
  • Llamada Component.setBounds() para cada uno de los niños del contenedor.
  • Llamada Component.repaint()

Como suele suceder, sin embargo, mi problema era que yo no estaba haciendo una cosa adicional:

  • Añadir cada componente en el recipiente utilizando Container.add(Component)

Otros consejos

La adición de un componente a un contenedor es algo que se hace si se utiliza un diseño nulo o un LayoutManager.

Las 3 cosas que creo que hay que recordar cuando se utiliza una disposición nula son:

  1. establecer el tamaño del componente (generalmente el tamaño preferido)

  2. establecer la ubicación del componente

  3. establecer el tamaño preferida del recipiente que contiene los componentes. Más tiempo que su código funcionará si no se establece el tamaño preferido, pero trate de añadir el panel a un panel de desplazamiento y que no funcionará. La razón de esto es que las barras de desplazamiento aparecen automáticamente cuando el tamaño preferido del recipiente es mayor que el tamaño del panel de desplazamiento. Con un nulo de Diseño El tamaño preferido es de 0.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top