Package com.google.gwt.user.client.ui
Class HTMLTable
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
- 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 abstract class HTMLTable
extends Panel
implements SourcesTableEvents, HasAllDragAndDropHandlers, HasClickHandlers, HasDoubleClickHandlers
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassReturn value forgetCellForEvent(com.google.gwt.event.dom.client.ClickEvent).classThis class contains methods used to format a table's cells.classThis class contains methods used to format a table's columns.classThis class contains methods used to format a table's rows.Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabledNested classes/interfaces inherited from interface com.google.gwt.user.client.ui.HasWidgets
HasWidgets.ForIsWidget -
Field Summary
Fields inherited from class com.google.gwt.user.client.ui.Widget
eventsToSinkFields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX, MISSING_ELEMENT_ERROR, SETELEMENT_TWICE_ERROR -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidaddClickHandler(ClickHandler handler) Adds aClickEventhandler.addDoubleClickHandler(DoubleClickHandler handler) Adds aDoubleClickEventhandler.addDragEndHandler(DragEndHandler handler) Adds aDragEndEventhandler.addDragEnterHandler(DragEnterHandler handler) Adds aDragEnterEventhandler.addDragHandler(DragHandler handler) Adds aDragEventhandler.addDragLeaveHandler(DragLeaveHandler handler) Adds aDragLeaveEventhandler.addDragOverHandler(DragOverHandler handler) Adds aDragOverEventhandler.addDragStartHandler(DragStartHandler handler) Adds aDragStartEventhandler.addDropHandler(DropHandler handler) Adds aDropEventhandler.voidaddTableListener(TableListener listener) Deprecated.protected voidcheckCellBounds(int row, int column) Bounds checks that the cell exists at the specified location.protected voidcheckRowBounds(int row) Checks that the row is within the correct bounds.voidclear()Removes all widgets from this table, but does not remove other HTML or text contents of cells.voidclear(boolean clearInnerHTML) Removes all widgets from this table, optionally clearing the inner HTML of each cell.booleanclearCell(int row, int column) Clears the cell at the given row and column.protected ElementCreates a new cell.protected ElementGets the table's TBODY element.abstract intgetCellCount(int row) Gets the number of cells in a given row.getCellForEvent(ClickEvent event) Given a click event, return the Cell that was clicked, or null if the event did not hit this table.Gets theHTMLTable.CellFormatterassociated with this table.intGets the amount of padding that is added around all cells.intGets the amount of spacing that is added around all cells.Gets the column formatter.protected intgetDOMCellCount(int row) Directly ask the underlying DOM what the cell count on the given row is.protected intgetDOMCellCount(Element tableBody, int row) Directly ask the underlying DOM what the cell count on the given row is.protected intgetDOMCellCount(Element tableBody, int row) Deprecated.Call and overridegetDOMCellCount(Element, int)instead.protected intDirectly ask the underlying DOM what the row count is.protected intgetDOMRowCount(Element tbody) protected intgetDOMRowCount(Element tbody) Deprecated.Call and overridegetDOMRowCount(Element)instead.protected ElementgetEventTargetCell(Event event) Determines the TD associated with the specified event.getHTML(int row, int column) Gets the HTML contents of the specified cell.abstract intGets the number of rows present in this table.Gets the RowFormatter associated with this table.getText(int row, int column) Gets the text within the specified cell.getWidget(int row, int column) Gets the widget in the specified cell.protected voidinsertCell(int row, int column) Inserts a new cell into the specified row.protected voidinsertCells(int row, int column, int count) Inserts a number of cells before the specified cell.protected intinsertRow(int beforeRow) Inserts a new row into the table.protected booleaninternalClearCell(Element td, boolean clearInnerHTML) Does actual clearing, used by clearCell and cleanCell.protected booleaninternalClearCell(Element td, boolean clearInnerHTML) Deprecated.Call and overrideinternalClearCell(com.google.gwt.dom.client.Element,boolean)instead.booleanisCellPresent(int row, int column) Determines whether the specified cell exists.iterator()Returns an iterator containing all the widgets in this table.protected voidonEnsureDebugId(String baseID) Affected Elements: -(row)#-(cell)# = the cell at the given row and cell index.protected abstract voidprepareCell(int row, int column) Subclasses must implement this method.protected voidprepareColumn(int column) Subclasses can implement this method.protected abstract voidprepareRow(int row) Subclasses must implement this method.booleanRemove the specified widget from the table.protected voidremoveCell(int row, int column) Removes the specified cell from the table.protected voidremoveRow(int row) Removes the specified row from the table.voidremoveTableListener(TableListener listener) Deprecated.Use theHandlerRegistration.removeHandler()method on the object returned by an add*Handler method insteadvoidsetBorderWidth(int width) Sets the width of the table's border.protected voidsetCellFormatter(HTMLTable.CellFormatter cellFormatter) Sets the table's CellFormatter.voidsetCellPadding(int padding) Sets the amount of padding to be added around all cells.voidsetCellSpacing(int spacing) Sets the amount of spacing to be added around all cells.protected voidsetColumnFormatter(HTMLTable.ColumnFormatter formatter) voidSets the HTML contents of the specified cell.voidSets the HTML contents of the specified cell.protected voidsetRowFormatter(HTMLTable.RowFormatter rowFormatter) Sets the table's RowFormatter.voidSets the text within the specified cell.voidOverloaded version for IsWidget.voidSets the widget within the specified cell.Methods inherited from class com.google.gwt.user.client.ui.Panel
add, add, adopt, doAttachChildren, doDetachChildren, orphan, removeMethods 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, unsinkEventsMethods 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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEventMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
HTMLTable
public HTMLTable()Create a new empty HTML Table.
-
-
Method Details
-
addClickHandler
Description copied from interface:HasClickHandlersAdds aClickEventhandler.- Specified by:
addClickHandlerin interfaceHasClickHandlers- Parameters:
handler- the click handler- Returns:
HandlerRegistrationused to remove this handler
-
addDoubleClickHandler
Description copied from interface:HasDoubleClickHandlersAdds aDoubleClickEventhandler.- Specified by:
addDoubleClickHandlerin interfaceHasDoubleClickHandlers- Parameters:
handler- the double click handler- Returns:
HandlerRegistrationused to remove this handler
-
addDragEndHandler
Description copied from interface:HasDragEndHandlersAdds aDragEndEventhandler.- Specified by:
addDragEndHandlerin interfaceHasDragEndHandlers- Parameters:
handler- the drag end handler- Returns:
HandlerRegistrationused to remove this handler
-
addDragEnterHandler
Description copied from interface:HasDragEnterHandlersAdds aDragEnterEventhandler.- Specified by:
addDragEnterHandlerin interfaceHasDragEnterHandlers- Parameters:
handler- the drag end handler- Returns:
HandlerRegistrationused to remove this handler
-
addDragHandler
Description copied from interface:HasDragHandlersAdds aDragEventhandler.- Specified by:
addDragHandlerin interfaceHasDragHandlers- Parameters:
handler- the drag handler- Returns:
HandlerRegistrationused to remove this handler
-
addDragLeaveHandler
Description copied from interface:HasDragLeaveHandlersAdds aDragLeaveEventhandler.- Specified by:
addDragLeaveHandlerin interfaceHasDragLeaveHandlers- Parameters:
handler- the drag leave handler- Returns:
HandlerRegistrationused to remove this handler
-
addDragOverHandler
Description copied from interface:HasDragOverHandlersAdds aDragOverEventhandler.- Specified by:
addDragOverHandlerin interfaceHasDragOverHandlers- Parameters:
handler- the drag over handler- Returns:
HandlerRegistrationused to remove this handler
-
addDragStartHandler
Description copied from interface:HasDragStartHandlersAdds aDragStartEventhandler.- Specified by:
addDragStartHandlerin interfaceHasDragStartHandlers- Parameters:
handler- the drag start handler- Returns:
HandlerRegistrationused to remove this handler
-
addDropHandler
Description copied from interface:HasDropHandlersAdds aDropEventhandler.- Specified by:
addDropHandlerin interfaceHasDropHandlers- Parameters:
handler- the drop handler- Returns:
HandlerRegistrationused to remove this handler
-
addTableListener
Deprecated.add a click handler instead and usegetCellForEvent(ClickEvent)to get the cell information (remember to check for a null return value)Adds a listener to the current table.- Specified by:
addTableListenerin interfaceSourcesTableEvents- Parameters:
listener- listener to add
-
clear
public void clear()Removes all widgets from this table, but does not remove other HTML or text contents of cells.- Specified by:
clearin interfaceHasWidgets- Overrides:
clearin classPanel
-
clear
public void clear(boolean clearInnerHTML) Removes all widgets from this table, optionally clearing the inner HTML of each cell. Note that this method does not remove any cells or rows.- Parameters:
clearInnerHTML- should the cell's inner html be cleared?
-
clearCell
public boolean clearCell(int row, int column) Clears the cell at the given row and column. If it contains a Widget, it will be removed from the table. If not, its contents will simply be cleared.- Parameters:
row- the widget's rowcolumn- the widget's column- Returns:
- true if a widget was removed
- Throws:
IndexOutOfBoundsException
-
getCellCount
public abstract int getCellCount(int row) Gets the number of cells in a given row.- Parameters:
row- the row whose cells are to be counted- Returns:
- the number of cells present in the row
-
getCellForEvent
Given a click event, return the Cell that was clicked, or null if the event did not hit this table. The cell can also be null if the click event does not occur on a specific cell.- Parameters:
event- A click event of indeterminate origin- Returns:
- The appropriate cell, or null
-
getCellFormatter
Gets theHTMLTable.CellFormatterassociated with this table. Use casting to get subclass-specific functionality- Returns:
- this table's cell formatter
-
getCellPadding
public int getCellPadding()Gets the amount of padding that is added around all cells.- Returns:
- the cell padding, in pixels
-
getCellSpacing
public int getCellSpacing()Gets the amount of spacing that is added around all cells.- Returns:
- the cell spacing, in pixels
-
getColumnFormatter
Gets the column formatter.- Returns:
- the column formatter
-
getHTML
Gets the HTML contents of the specified cell.- Parameters:
row- the cell's rowcolumn- the cell's column- Returns:
- the cell's HTML contents
- Throws:
IndexOutOfBoundsException
-
getRowCount
public abstract int getRowCount()Gets the number of rows present in this table.- Returns:
- the table's row count
-
getRowFormatter
Gets the RowFormatter associated with this table.- Returns:
- the table's row formatter
-
getText
Gets the text within the specified cell.- Parameters:
row- the cell's rowcolumn- the cell's column- Returns:
- the cell's text contents
- Throws:
IndexOutOfBoundsException
-
getWidget
Gets the widget in the specified cell.- Parameters:
row- the cell's rowcolumn- the cell's column- Returns:
- the widget in the specified cell, or
nullif none is present - Throws:
IndexOutOfBoundsException
-
isCellPresent
public boolean isCellPresent(int row, int column) Determines whether the specified cell exists.- Parameters:
row- the cell's rowcolumn- the cell's column- Returns:
trueif the specified cell exists
-
iterator
Returns an iterator containing all the widgets in this table.- Specified by:
iteratorin interfaceHasWidgets- Specified by:
iteratorin interfaceIterable<Widget>- Returns:
- the iterator
-
remove
Remove the specified widget from the table.- Specified by:
removein interfaceHasWidgets- Specified by:
removein classPanel- Parameters:
widget- widget to remove- Returns:
- was the widget removed from the table.
-
removeTableListener
Deprecated.Use theHandlerRegistration.removeHandler()method on the object returned by an add*Handler method insteadRemoves the specified table listener.- Specified by:
removeTableListenerin interfaceSourcesTableEvents- Parameters:
listener- listener to remove
-
setBorderWidth
public void setBorderWidth(int width) Sets the width of the table's border. This border is displayed around all cells in the table.- Parameters:
width- the width of the border, in pixels
-
setCellPadding
public void setCellPadding(int padding) Sets the amount of padding to be added around all cells.- Parameters:
padding- the cell padding, in pixels
-
setCellSpacing
public void setCellSpacing(int spacing) Sets the amount of spacing to be added around all cells.- Parameters:
spacing- the cell spacing, in pixels
-
setHTML
Sets the HTML contents of the specified cell.- Parameters:
row- the cell's rowcolumn- the cell's columnhtml- the cell's HTML contents- Throws:
IndexOutOfBoundsException
-
setText
Sets the text within the specified cell.- Parameters:
row- the cell's rowcolumn- cell's columntext- the cell's text contents- Throws:
IndexOutOfBoundsException
-
setWidget
Sets the widget within the specified cell.Inherited implementations may either throw IndexOutOfBounds exception if the cell does not exist, or allocate a new cell to store the content.
FlexTable will automatically allocate the cell at the correct location and then set the widget. Grid will set the widget if and only if the cell is within the Grid's bounding box.
- Parameters:
widget- The widget to be added, or null to clear the cellrow- the cell's rowcolumn- the cell's column- Throws:
IndexOutOfBoundsException
-
setWidget
Overloaded version for IsWidget.- See Also:
-
checkCellBounds
protected void checkCellBounds(int row, int column) Bounds checks that the cell exists at the specified location.- Parameters:
row- cell's rowcolumn- cell's column- Throws:
IndexOutOfBoundsException
-
checkRowBounds
protected void checkRowBounds(int row) Checks that the row is within the correct bounds.- Parameters:
row- row index to check- Throws:
IndexOutOfBoundsException
-
createCell
Creates a new cell. Override this method if the cell should have initial contents.- Returns:
- the newly created TD
-
getBodyElement
Gets the table's TBODY element.- Returns:
- the TBODY element
-
getDOMCellCount
Directly ask the underlying DOM what the cell count on the given row is.- Parameters:
tableBody- the elementrow- the row- Returns:
- number of columns in the row
-
getDOMCellCount
Deprecated.Call and overridegetDOMCellCount(Element, int)instead. -
getDOMCellCount
protected int getDOMCellCount(int row) Directly ask the underlying DOM what the cell count on the given row is.- Parameters:
row- the row- Returns:
- number of columns in the row
-
getDOMRowCount
protected int getDOMRowCount()Directly ask the underlying DOM what the row count is.- Returns:
- Returns the number of rows in the table
-
getDOMRowCount
-
getDOMRowCount
Deprecated.Call and overridegetDOMRowCount(Element)instead. -
getEventTargetCell
Determines the TD associated with the specified event.- Parameters:
event- the event to be queried- Returns:
- the TD associated with the event, or
nullif none is found.
-
insertCell
protected void insertCell(int row, int column) Inserts a new cell into the specified row.- Parameters:
row- the row into which the new cell will be insertedcolumn- the column before which the cell will be inserted- Throws:
IndexOutOfBoundsException
-
insertCells
protected void insertCells(int row, int column, int count) Inserts a number of cells before the specified cell.- Parameters:
row- the row into which the new cells will be insertedcolumn- the column before which the new cells will be insertedcount- number of cells to be inserted- Throws:
IndexOutOfBoundsException
-
insertRow
protected int insertRow(int beforeRow) Inserts a new row into the table.- Parameters:
beforeRow- the index before which the new row will be inserted- Returns:
- the index of the newly-created row
- Throws:
IndexOutOfBoundsException
-
internalClearCell
Does actual clearing, used by clearCell and cleanCell. All HTMLTable methods should use internalClearCell rather than clearCell, as clearCell may be overridden in subclasses to format an empty cell.- Parameters:
td- element to clearclearInnerHTML- should the cell's inner html be cleared?- Returns:
- returns whether a widget was cleared
-
internalClearCell
Deprecated.Call and overrideinternalClearCell(com.google.gwt.dom.client.Element,boolean)instead. -
onEnsureDebugId
Affected Elements:- -(row)#-(cell)# = the cell at the given row and cell index.
- Overrides:
onEnsureDebugIdin classUIObject- Parameters:
baseID- the base ID used by the main element- See Also:
-
prepareCell
protected abstract void prepareCell(int row, int column) Subclasses must implement this method. It allows them to decide what to do just before a cell is accessed. If the cell already exists, this method must do nothing. Otherwise, a subclass must either ensure that the cell exists or throw anIndexOutOfBoundsException.- Parameters:
row- the cell's rowcolumn- the cell's column
-
prepareColumn
protected void prepareColumn(int column) Subclasses can implement this method. It allows them to decide what to do just before a column is accessed. For classes, such asFlexTable, that do not have a concept of a global column length can ignore this method.- Parameters:
column- the cell's column- Throws:
IndexOutOfBoundsException
-
prepareRow
protected abstract void prepareRow(int row) Subclasses must implement this method. If the row already exists, this method must do nothing. Otherwise, a subclass must either ensure that the row exists or throw anIndexOutOfBoundsException.- Parameters:
row- the cell's row
-
removeCell
protected void removeCell(int row, int column) Removes the specified cell from the table.- Parameters:
row- the row of the cell to removecolumn- the column of cell to remove- Throws:
IndexOutOfBoundsException
-
removeRow
protected void removeRow(int row) Removes the specified row from the table.- Parameters:
row- the index of the row to be removed- Throws:
IndexOutOfBoundsException
-
setCellFormatter
Sets the table's CellFormatter.- Parameters:
cellFormatter- the table's cell formatter
-
setColumnFormatter
-
setRowFormatter
Sets the table's RowFormatter.- Parameters:
rowFormatter- the table's row formatter
-
addCells
-
getCellForEvent(ClickEvent)to get the cell information (remember to check for a null return value)