Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Duda de JTable

Buenas gente:

Mira que tengo varias dudas de un apartado de mi proyecto, quiero crear unos horarios distintos, quiero crear un jtable con columnas de Lunes a Viernes y las filas a la izquierda, poner horarios distintos(ej:8:00-9:00;9:00-10:00,10:00-11:00;11:00-12:00). Tanto las columnas como las filas permanece fijo, lo que varia es el horario que me interese en determinado momento(Lo voy a poner en un Combox).

Horario1: Horario con las asignaturas y turnos impartidos por un profesor.
Aqui me aparece el nombre de la asignatura,turno y aula dentro de una celda.

Horario2: Horario con las asignaturas,aulas y profesores de un alumno.
Aqui me aparece el nombre de la asignatura,aula y nombre de profesor dentro de una celda.

Horario3: Horario de los turnos de una asignatura y sus aulas.
Aqui me aparece el turno y aula dentro de una celda.

Horario4: Horario de los turnos y asignaturas impartidas en un aula.
Aqui me aparece el nombre de la asignatura y el turno dentro de una celda.

Alguien me puede dar unos pasos simples para que pueda arrancar, muchas gracias de antemano, un saludo!!

mayo 23, 2012 | Registered Commenternovato666

Si no he entendido mal, cada celda de la tabla sería un JComboBox.
En tal caso, debes renderizar las celdas como JComboBox, en vez del JLabel por defecto.
Este tutorial te puede servir de mucha ayuda:

http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#renderer

Si tienes más dudas sobre cómo construir un render a medida, ya sabes... ¡Pregunta! :)

mayo 23, 2012 | Registered Commenterchoces

No no, cada celda se cargaría con los datos que corresponda de un horario especifico.

Gracias y ahora miraré el enlace, a ver si me sirve. Un saludo!!!

mayo 23, 2012 | Registered Commenternovato666

¿Dónde sitúas esos JComboBox?. No acabo de "ver" la disposición de esa tabla.

mayo 23, 2012 | Registered Commenterchoces

El JCombox es para visualizar el horario especifico de los 4 que hay por visualizar.

Me he explicado choice???

mayo 23, 2012 | Registered Commenternovato666

Tienes un único JComboBox, que no forma parte de la JTable, ¿Es así?.
¿Cuál es el problema?.

mayo 23, 2012 | Registered Commenterchoces

el problema es k no se como empezar a crear el jtable, no se como poner un jtable predeterminado, es decir k permanezcan fijo las columnas de lunes a viernes y cada 3 filas un horario fijo de 8:00-9:00-9:00-10:00 y asi sucesivamente

mayo 23, 2012 | Registered Commenternovato666

La mejor manera de usar una JTable, como casi cualquier otro componente de Swing, es usar un modelo.
Un modelo sencillo para una JTable puede construirse a partir de un Map:
* En keys van los números de las filas
* En values puedes usar en tu caso un array con el contenido de cada fila, llenado cada posición del array con el contenido de cada columna correspondiente.

De esa manera es muy fácil llenar y modificar una tabla: cada key apunta a una fila, y cada posición del array a una columna determinada.

Una vez que tienes construido el Map, el setModel de la Table se ocupa de visualizarla.

http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#data

mayo 23, 2012 | Registered Commenterchoces

Una preguntilla:

He estado un poco desconetado, a ver si arranco de una vez. Tengo una duda, para poner un private String [] columNames= Lunes, Martes, Miercoles,Jueves,Viernes. Mi duda como lo meto todo? En un cochete, van entre comillas

mayo 27, 2012 | Registered Commenternovato666

private String[] columNames = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes"};

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

mayo 27, 2012 | Registered Commenterchoces