TableContainer
Potente herramienta para generar tablas. Existen varios modelos de tablas que se pueden generar.
La clase Table extiende de BaseContainer, que a su vez extiende de JPanel. El objetivo de la herramienta es crear un panel que incluya una tabla. Existen varios modelos para generar la tabla, estos son: - ListModel - TreeRadioButtonModel - RadioButtonModel - CheckBoxModel - TableButtonModel El modelo que se generará por defecto si no se especifica uno será "ListModel". La herramienta incluye listeners para capturar y gestionar los eventos de control de la tabla para añadir una nueva entrada, eliminar una entrada específica y eliminar todas. Estos eventos son generados por botones incluidos en el panel, como se verá en las capturas realizadas. A continuación se incluyen imágenes de los modelos desarrollados. .. figure:: imagenes/TableContainerList.JPG :align: center Ejemplo de tabla con modelo "Lista" .. figure:: imagenes/TableContainerCheckBox1.JPG :align: center Ejemplo de tabla con modelo "CheckBox" .. figure:: imagenes/TableContainerButtons.JPG :align: center Ejemplo de tabla con modelo "Buttons" .. figure:: imagenes/TableContainerRadioButton1.JPG :align: center Ejemplo de tabla con modelo "RadioButtons" A continuación se incluyen fragmentos de código necesario para generar las imágenes mostradas anteriormente. Constructor, común a todos lo modelos de tablas, se le pasa el ancho y el alto y el nombre de las columnas y el ancho que necesitamos para las columnas .. code-block:: java TableContainer table = new TableContainer(w - 12, h - 45, columnNames, columnWidths);; String[] columnNames = {"R", "G", "B", "T/F","columna 4"}; int[] columnWidths = {22, 22, 22,22, 334}; Luego se establece el modelo a utilizar en la tabla .. code-block:: java table.setModel("TreeRadioButtonModel"); table.setModel("TableButtonModel"); table.setModel("RadioButtonModel"); table.setModel("LsitModel"); //o no poner nada, ya que por defecto se establece este modelo Se debe incluir la llamada para inicializar la tabla .. code-block:: java table.initialize(); Generar las filas, por ejemplo en el modelo de RadioButton sería .. code-block:: java Object[] row = {new Boolean(true), new Boolean(false), new Boolean(false), new Boolean(true),"texto 0"}; Object[] row1 = {new Boolean(false), new Boolean(true), new Boolean(false),new Boolean(false), "texto 1"}; Object[] row2 = {new Boolean(false), new Boolean(false), new Boolean(true), new Boolean(true),"texto 2"}; table.addRow(row); table.addRow(row1); table.addRow(row2); Y por último añadir la tabla generada a la ventana y los listeners necesarios .. code-block:: java frame.addComponentListener(this); frame.getContentPane().add(table);