Package com.google.gwt.user.client.ui
Class Grid
- java.lang.Object
-
- com.google.gwt.user.client.ui.UIObject
-
- com.google.gwt.user.client.ui.Widget
-
- com.google.gwt.user.client.ui.Panel
-
- com.google.gwt.user.client.ui.HTMLTable
-
- com.google.gwt.user.client.ui.Grid
-
- All Implemented Interfaces:
HasAllDragAndDropHandlers
,HasClickHandlers
,HasDoubleClickHandlers
,HasDragEndHandlers
,HasDragEnterHandlers
,HasDragHandlers
,HasDragLeaveHandlers
,HasDragOverHandlers
,HasDragStartHandlers
,HasDropHandlers
,HasAttachHandlers
,HasHandlers
,EventListener
,HasVisibility
,HasWidgets
,HasWidgets.ForIsWidget
,IsWidget
,SourcesTableEvents
,java.lang.Iterable<Widget>
- Direct Known Subclasses:
CellGridImpl
public class Grid extends HTMLTable
A rectangular grid that can contain text, html, or a childWidget
within its cells. It must be resized explicitly to the desired number of rows and columns.Example
public class GridExample implements EntryPoint { public void onModuleLoad() { // Grids must be sized explicitly, though they can be resized later. Grid g = new Grid(5, 5); // Put some values in the grid cells. for (int row = 0; row < 5; ++row) { for (int col = 0; col < 5; ++col) g.setText(row, col, "" + row + ", " + col); } // Just for good measure, let's put a button in the center. g.setWidget(2, 2, new Button("Does nothing, but could")); // You can use the CellFormatter to affect the layout of the grid's cells. g.getCellFormatter().setWidth(0, 2, "256px"); RootPanel.get().add(g); } }
Use in UiBinder Templates
Grid widget consists of <g:row> elements. Each <g:row> element can contain one or more <g:cell> or <g:customCell> elements. Using <g:cell> attribute it is possible to place pure HTML content. <g:customCell> is used as a container for
Widget
type objects. (Note that the tags of the row, cell and customCell elements are not capitalized. This is meant to signal that the item is not a runtime object, and so cannot have aui:field
attribute.)For example:
<g:Grid> <g:row styleName="optionalHeaderStyle"> <g:customCell styleName="optionalFooCellStyle"> <g:Label>foo</g:Label> </g:customCell> <g:customCell styleName="optionalBarCellStyle"> <g:Label>bar</g:Label> </g:customCell> </g:row> <g:row> <g:cell> <div>foo</div> </g:cell> <g:cell> <div>bar</div> </g:cell> </g:row> </g:Grid>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.HTMLTable
HTMLTable.Cell, HTMLTable.CellFormatter, HTMLTable.ColumnFormatter, HTMLTable.RowFormatter
-
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
-
Nested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasWidgets
HasWidgets.ForIsWidget
-
-
Field Summary
Fields Modifier and Type Field Description protected int
numColumns
Number of columns in the current grid.protected int
numRows
Number of rows in the current grid.-
Fields inherited from class com.google.gwt.user.client.ui.Widget
eventsToSink
-
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
clearCell(int row, int column)
Replaces the contents of the specified cell with a single space.protected Element
createCell()
Creates a new, empty cell.int
getCellCount(int row)
Return number of columns.int
getColumnCount()
Gets the number of columns in this grid.int
getRowCount()
Return number of rows.int
insertRow(int beforeRow)
Inserts a new row into the table.protected void
prepareCell(int row, int column)
Checks that a cell is a valid cell in the table.protected void
prepareColumn(int column)
Checks that the column index is valid.protected void
prepareRow(int row)
Checks that the row index is valid.void
removeRow(int row)
Removes the specified row from the table.void
resize(int rows, int columns)
Resizes the grid.void
resizeColumns(int columns)
Resizes the grid to the specified number of columns.void
resizeRows(int rows)
Resizes the grid to the specified number of rows.-
Methods inherited from class com.google.gwt.user.client.ui.HTMLTable
addCells, addClickHandler, addDoubleClickHandler, addDragEndHandler, addDragEnterHandler, addDragHandler, addDragLeaveHandler, addDragOverHandler, addDragStartHandler, addDropHandler, addTableListener, checkCellBounds, checkRowBounds, clear, clear, getBodyElement, getCellForEvent, getCellFormatter, getCellPadding, getCellSpacing, getColumnFormatter, getDOMCellCount, getDOMCellCount, getDOMCellCount, getDOMRowCount, getDOMRowCount, getDOMRowCount, getEventTargetCell, getHTML, getRowFormatter, getText, getWidget, insertCell, insertCells, internalClearCell, internalClearCell, isCellPresent, iterator, onEnsureDebugId, remove, removeCell, removeTableListener, setBorderWidth, setCellFormatter, setCellPadding, setCellSpacing, setColumnFormatter, setHTML, setHTML, setRowFormatter, setText, setWidget, setWidget
-
Methods inherited from class com.google.gwt.user.client.ui.Panel
add, add, adopt, doAttachChildren, doDetachChildren, orphan, remove
-
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, ensureHandlers, fireEvent, getHandlerCount, getHandlerManager, getLayoutData, getParent, isAttached, isOrWasAttached, onAttach, onBrowserEvent, onDetach, onLoad, onUnload, removeFromParent, replaceElement, setLayoutData, setParent, sinkEvents, unsinkEvents
-
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
-
-
-
-
Method Detail
-
clearCell
public boolean clearCell(int row, int column)
Replaces the contents of the specified cell with a single space.
-
getCellCount
public int getCellCount(int row)
Return number of columns. For grid, row argument is ignored as all grids are rectangular.- Specified by:
getCellCount
in classHTMLTable
- Parameters:
row
- the row whose cells are to be counted- Returns:
- the number of cells present in the row
-
getColumnCount
public int getColumnCount()
Gets the number of columns in this grid.- Returns:
- the number of columns
-
getRowCount
public int getRowCount()
Return number of rows.- Specified by:
getRowCount
in classHTMLTable
- Returns:
- the table's row count
-
insertRow
public int insertRow(int beforeRow)
Inserts a new row into the table. If you want to add multiple rows at once, useresize(int, int)
orresizeRows(int)
as they are more efficient.
-
removeRow
public void removeRow(int row)
Description copied from class:HTMLTable
Removes the specified row from the table.
-
resize
public void resize(int rows, int columns)
Resizes the grid.- Parameters:
rows
- the number of rowscolumns
- the number of columns- Throws:
java.lang.IndexOutOfBoundsException
-
resizeColumns
public void resizeColumns(int columns)
Resizes the grid to the specified number of columns.- Parameters:
columns
- the number of columns- Throws:
java.lang.IndexOutOfBoundsException
-
resizeRows
public void resizeRows(int rows)
Resizes the grid to the specified number of rows.- Parameters:
rows
- the number of rows- Throws:
java.lang.IndexOutOfBoundsException
-
createCell
protected Element createCell()
Creates a new, empty cell.- Overrides:
createCell
in classHTMLTable
- Returns:
- the newly created TD
-
prepareCell
protected void prepareCell(int row, int column)
Checks that a cell is a valid cell in the table.- Specified by:
prepareCell
in classHTMLTable
- Parameters:
row
- the cell's rowcolumn
- the cell's column- Throws:
java.lang.IndexOutOfBoundsException
-
prepareColumn
protected void prepareColumn(int column)
Checks that the column index is valid.- Overrides:
prepareColumn
in classHTMLTable
- Parameters:
column
- The column index to be checked- Throws:
java.lang.IndexOutOfBoundsException
- if the column is negative
-
prepareRow
protected void prepareRow(int row)
Checks that the row index is valid.- Specified by:
prepareRow
in classHTMLTable
- Parameters:
row
- The row index to be checked- Throws:
java.lang.IndexOutOfBoundsException
- if the row is negative
-
-