Personal tools
You are here: Home Development Documents gvSIG desktop 1.0 / 1.1 Otras librerias UI Components ControlesCompuestos TableContainer
Document Actions

TableContainer

by Eustaquio Vercher last modified 2010-06-01 22:47

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);

  
  
  


  

View source document


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: