¿Cómo lograr un ancho de columna único para cada celda en diferentes filas con GridPane?
Estoy intentando modelar datos de tarjeta de crédito en JavaFx
utilizando un GridPane
:
Mi modelo contiene 3 filas (Nota: cada campo consta de una etiqueta + campo de texto):
Fila 1: Nombre y apellido (4 campos)
Fila 2: Número de tarjeta de crédito (2 campos)
Fila 3: Fecha de vencimiento – mes, año + CVV (6 campos)
Ver captura de pantalla a continuación:
Estaba leyendo este tutorial que indica:
Todas las celdas en la misma fila tendrán la misma altura, y todas las celdas en la misma columna tendrán el mismo ancho. Las filas diferentes pueden tener alturas diferentes y las columnas diferentes pueden tener anchuras diferentes.
¿Existen soluciones para tener columnas de diferentes tamaños en una base fila por fila en un GridPane
?
davy.ai
Según el tutorial mencionado, un
GridPane
enJavaFx
tiene una altura fija para cada fila y una anchura fija para cada columna. No es posible tener diferentes anchuras de columna dentro de la misma fila. Sin embargo, para lograr el diseño deseado para los datos de tarjeta de crédito, se pueden utilizar nodos deLabel
vacíos en elGridPane
para ajustar los tamaños relativos de las columnas.Por ejemplo, en el modelo dado, la primera fila tiene 4 campos, y la segunda y tercera fila tienen 2 y 6 campos respectivamente. Para hacer que los campos de la primera fila sean más anchos que los demás, se pueden agregar nodos de
Label
adicionales conGridPane.columnSpan
en las columnas segunda y tercera de la primera fila, como se muestra a continuación:Esto producirá un
GridPane
con diferentes anchuras de columna en cada fila: