Class FlexTable

All Implemented Interfaces:
HasAllDragAndDropHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragEndHandlers, HasDragEnterHandlers, HasDragHandlers, HasDragLeaveHandlers, HasDragOverHandlers, HasDragStartHandlers, HasDropHandlers, HasAttachHandlers, HasHandlers, EventListener, HasVisibility, HasWidgets, HasWidgets.ForIsWidget, IsWidget, SourcesTableEvents, Iterable<Widget>

public class FlexTable extends HTMLTable
A flexible table that creates cells on demand. It can be jagged (that is, each row can contain a different number of cells) and individual cells can be set to span multiple rows or columns.

Example

public class FlexTableExample implements EntryPoint {

  public void onModuleLoad() {
    // Tables have no explicit size -- they resize automatically on demand.
    FlexTable t = new FlexTable();

    // Put some text at the table's extremes.  This forces the table to be
    // 3 by 3.
    t.setText(0, 0, "upper-left corner");
    t.setText(2, 2, "bottom-right corner");

    // Let's put a button in the middle...
    t.setWidget(1, 0, new Button("Wide Button"));

    // ...and set it's column span so that it takes up the whole row.
    t.getFlexCellFormatter().setColSpan(1, 0, 3);

    RootPanel.get().add(t);
  }
}

  • Constructor Details

    • FlexTable

      public FlexTable()
  • Method Details

    • addCell

      public void addCell(int row)
      Appends a cell to the specified row.
      Parameters:
      row - the row to which the new cell will be added
      Throws:
      IndexOutOfBoundsException
    • getCellCount

      public int getCellCount(int row)
      Gets the number of cells on a given row.
      Specified by:
      getCellCount in class HTMLTable
      Parameters:
      row - the row whose cells are to be counted
      Returns:
      the number of cells present
      Throws:
      IndexOutOfBoundsException
    • getFlexCellFormatter

      public FlexTable.FlexCellFormatter getFlexCellFormatter()
      Explicitly gets the FlexTable.FlexCellFormatter. The results of HTMLTable.getCellFormatter() may also be downcast to a FlexTable.FlexCellFormatter.
      Returns:
      the FlexTable's cell formatter
    • getRowCount

      public int getRowCount()
      Gets the number of rows.
      Specified by:
      getRowCount in class HTMLTable
      Returns:
      number of rows
    • insertCell

      public void insertCell(int beforeRow, int beforeColumn)
      Inserts a cell into the FlexTable.
      Overrides:
      insertCell in class HTMLTable
      Parameters:
      beforeRow - the cell's row
      beforeColumn - the cell's column
    • insertRow

      public int insertRow(int beforeRow)
      Inserts a row into the FlexTable.
      Overrides:
      insertRow in class HTMLTable
      Parameters:
      beforeRow - the row to insert
      Returns:
      the index of the newly-created row
    • removeAllRows

      public void removeAllRows()
      Remove all rows in this table.
    • removeCell

      public void removeCell(int row, int col)
      Description copied from class: HTMLTable
      Removes the specified cell from the table.
      Overrides:
      removeCell in class HTMLTable
      Parameters:
      row - the row of the cell to remove
      col - the column of cell to remove
    • removeCells

      public void removeCells(int row, int column, int num)
      Removes a number of cells from a row in the table.
      Parameters:
      row - the row of the cells to be removed
      column - the column of the first cell to be removed
      num - the number of cells to be removed
      Throws:
      IndexOutOfBoundsException
    • removeRow

      public void removeRow(int row)
      Description copied from class: HTMLTable
      Removes the specified row from the table.
      Overrides:
      removeRow in class HTMLTable
      Parameters:
      row - the index of the row to be removed
    • prepareCell

      protected void prepareCell(int row, int column)
      Ensure that the cell exists.
      Specified by:
      prepareCell in class HTMLTable
      Parameters:
      row - the row to prepare.
      column - the column to prepare.
      Throws:
      IndexOutOfBoundsException - if the row is negative
    • prepareRow

      protected void prepareRow(int row)
      Ensure that the row exists.
      Specified by:
      prepareRow in class HTMLTable
      Parameters:
      row - The row to prepare.
      Throws:
      IndexOutOfBoundsException - if the row is negative