Cómo crear una tabla simple en Java para usar en una GUI

Usar matrices para almacenar los datos de la tabla

Una forma sencilla de proporcionar datos para

La clase es usar dos matrices. El primero contiene los nombres de columna en un

formación:

La segunda matriz es una matriz de objetos bidimensionales que contiene los datos de la tabla. Este conjunto, por ejemplo, incluye seis nadadores olímpicos:

La clave aquí es asegurarse de que las dos matrices tengan el mismo número de columnas.

Construyendo la JTable

Una vez que tenga los datos en su lugar, es una tarea simple crear la tabla. Solo llama al

JTable
constructor y páselo a las dos matrices: probablemente desee agregar barras de desplazamiento para asegurarse de que el usuario pueda ver todos los datos. Para hacerlo, coloque el.
JTable
en un
JScrollPane
: Ahora, cuando se muestra la tabla, verá las columnas y filas de datos y tendrá la capacidad de desplazarse hacia arriba y hacia abajo.

El objeto JTable proporciona una tabla interactiva. Si hace doble clic en cualquiera de las celdas, podrá editar el contenido, aunque cualquier edición solo afecta a la GUI, no a los datos subyacentes. (Un

instagram viewer
oyente de eventos necesitaría implementarse para manejar el cambio de datos).

Para cambiar el ancho de las columnas, desplace el mouse sobre el borde del encabezado de una columna y arrástrelo hacia adelante y hacia atrás. Para cambiar el orden de las columnas, haga clic y mantenga presionado el encabezado de una columna, luego arrástrelo a la nueva posición.

Ordenar columnas

Para agregar la capacidad de ordenar las filas, llame al

setAutoCreateRowSorter
Método: cuando este método se establece en verdadero, puede hacer clic en el encabezado de una columna para ordenar las filas de acuerdo con el contenido de las celdas debajo de esa columna.

Cambiar la apariencia de la mesa

Para controlar la visibilidad de las líneas de la cuadrícula, use el

setShowGrid
Método: para cambiar el color de la tabla por completo, use el.
Definir fondo
y
setGridColor
métodos: los anchos de columna de la tabla son iguales por defecto. Si el contenedor en el que se encuentra la mesa es redimensionable, entonces el ancho de las columnas se expandirá y encogerá, y el contenedor se hará más grande o más pequeño. Si un usuario cambia el tamaño de la columna, el ancho de las columnas a la derecha cambiará para acomodar el nuevo tamaño de columna.

Los anchos de columna iniciales se pueden establecer utilizando el método setPreferredWidth o una columna. Use la clase TableColumn para obtener primero una referencia a la columna, y luego el método setPreferredWidth para establecer el tamaño:

Seleccionar filas

De manera predeterminada, el usuario puede seleccionar las filas de la tabla de una de estas tres maneras:

  • Para seleccionar una sola fila, seleccione una celda de la tabla en esa fila.
  • Para seleccionar varias filas continuas, arrastre el mouse sobre varias filas o seleccione las celdas de la tabla con la celda de desplazamiento presionada.
  • Para seleccionar varias filas no continuas, seleccione las celdas de la tabla mientras mantiene presionada la tecla tecla de control (tecla de comando para Mac)

Usando un modelo de tabla

Usar un par de matrices para los datos de una tabla puede ser útil si desea un simple Cuerdabasada en tablas que se puede editar. Si observa la matriz de datos que creamos, contiene otros tipos de datos distintos de

- el

la columna contiene

y el

la columna contiene

. Sin embargo, ambas columnas se muestran como cadenas. Para cambiar este comportamiento, cree un modelo de tabla.

Un modelo de tabla gestiona los datos que se mostrarán en la tabla. Para implementar un modelo de tabla, puede crear una clase que extienda el

clase:

Los seis métodos anteriores son los utilizados en esta guía paso a paso, pero hay más métodos definidos por

clase que son útiles para manipular los datos en una

objeto. Al extender una clase para usar el

debe implementar solo el

,

y

métodos.

Cree una nueva clase implementando los cinco métodos que se muestran arriba:

Tiene sentido en este ejemplo para el

clase para contener las dos cadenas que contienen los datos de la tabla. Entonces el

,

y

Los métodos pueden utilizar las matrices para proporcionar los valores de la tabla. Además, observe cómo el

El método se ha escrito para no permitir que se editen las dos primeras columnas.

Ahora, en lugar de usar las dos matrices para crear el

objeto, podemos usar el

clase:

Cuando se ejecute el código, verá que el

El objeto está utilizando el modelo de tabla porque ninguna de las celdas de la tabla es editable y los nombres de columna se están utilizando correctamente. Si el

no se había implementado el método, entonces los nombres de columna en la tabla se mostrarían como los nombres predeterminados de A, B, C, D, etc.

Consideremos ahora el método

. Esto solo hace que el modelo de tabla valga la pena la implementación porque proporciona

objeto con el tipo de datos contenido dentro de cada columna. Si recuerda, la matriz de datos del objeto tiene dos columnas que no son

tipos de datos: el

columna que contiene ints, y el

columna que contiene

. Conocer estos tipos de datos cambia la funcionalidad proporcionada por el

objeto para esas columnas. Ejecutar el código de la tabla de muestra con el modelo de tabla implementado significa que

La columna será en realidad una serie de casillas de verificación.

Agregar un editor de cuadros combinados

Puede definir editores personalizados para las celdas de la tabla. Por ejemplo, puede hacer que un cuadro combinado sea una alternativa a la edición de texto estándar para un campo.

Aquí hay un ejemplo usando

el campo del país:

Para configurar el editor predeterminado para la columna del país, use el

clase para obtener una referencia a la columna de país, y la

método para configurar el

como el editor de celdas:

instagram story viewer