Quiero agregar JTable
a JPanel
quién es el diseño null
. JPanel
Contiene otros componentes. Tengo que agregar JTable
en la posición correcta.
235
Quiero agregar JTable
a JPanel
quién es el diseño null
. JPanel
Contiene otros componentes. Tengo que agregar JTable
en la posición correcta.
Respuestas:
Ejemplo de diseño anidado / combinado
El Tutorial de Java tiene información completa sobre el uso de administradores de diseño. Consulte la lección Diseño de componentes dentro de un contenedor para obtener más detalles.
Un aspecto de los diseños que no está bien cubierto en el tutorial es el de los diseños anidados, colocando un diseño dentro de otro para obtener efectos complejos.
El siguiente código pone una variedad de componentes en un marco para demostrar cómo usar diseños anidados. Todos los diseños que se establecen explícitamente se muestran como un borde con título para el panel en el que se usan.
Los aspectos notables del código son:
Nimbus PLAF
NestedLayoutExample.java
Otras capturas de pantalla
Windows PLAF
Mac OS X Aqua PLAF
Ubuntu GTK + PLAF
fuente
No use un diseño nulo. Aprenda a usar LayoutManagers:
http://download.oracle.com/javase/tutorial/uiswing/layout/using.html
LayoutManagers le permite manejar adecuadamente el cambio de tamaño de la ventana o el recuento dinámico de componentes. Puede parecer intimidante al principio, pero vale la pena el esfuerzo de aprender.
fuente
Como puedo recordar, el diseño nulo significa una posición absoluta, por lo que será muy difícil contar el punto X para la ubicación de la esquina superior izquierda de JTable. Pero si solo desea tener todos los componentes del panel uno por uno, puede usar el administrador FlowLayout () como
o si necesita llenar el panel, debe usar GridLayout () como ...
Buena suerte
fuente
Si está utilizando un administrador de diseño nulo, siempre debe establecer los límites de un componente. Ese es el problema en tu caso.
Debe hacer lo que todos sugieren aquí e ir y usar un administrador de diseño que crea que ahorran tiempo. Ve y mira el tutorial en la publicación de @ jzd.
Disfruta, Boro.
fuente
JTable
debe agregarse a loJScrollPane
que realmente debe agregarse aJPanel
.El
JPanel
debería tener algún administrador de diseño.Si no le importa la precisión del tamaño de los componentes, puede usar puro
BorderLayout
y combinarlo conFlowLayout
yGridLayout
. si necesita precisión, use jgoodiesFormLayout
.El
FormLayout
es realmente complicado, pero puedes jugar un poco conWindowBuilder
(que se incrusta en Eclipse) y un vistazo al código que genera. Puede parecer complicado, pero es solo una ignorancia.Buena suerte.
fuente
Primero, debe considerar seriamente otros administradores de diseño, por ejemplo, BorderLayoutManager (nuevo JPanel (nuevo BorderLayout ())) es un buen comienzo.
También al diseñar su diálogo, recuerde que puede y debe anidar sus diseños : un JPanel dentro de otro JPanel (por ejemplo, un GridLayout dentro de un BorderLayout). Tenga en cuenta: un cuadro de diálogo "bueno" debe cambiar de tamaño correctamente , de modo que si el usuario cambia el tamaño de su Marco, desea ampliar automáticamente sus objetos de información, como su tabla, y no mostrar grandes áreas de fondo JPanel. Eso es algo que no puedes lograr con un NullLayout.
Pero probablemente haya casos, en algún lugar de este gran mundo, donde un NullLayout es justo lo que necesitas. Así que aquí hay un ejemplo:
fuente
Cuando un componente tiene un diseño "nulo", debe administrar el diseño usted mismo, lo que significa que debe calcular las dimensiones y ubicaciones de los elementos secundarios del componente para decidir dónde se dibujan. Bastante tedioso a menos que sea absolutamente necesario.
Si realmente desea ese control de grano fino, tal vez pruebe primero con GridBagLayout antes de enloquecer con la disposición de la interfaz de usuario.
fuente
Puede hacer uso del siguiente código. Para agregar JTable a JPanel.
fuente
Espero que esto ayude.
fuente
modelo de mesa depende de su requerimiento
fuente
Prueba esto.
fuente