package com.rntsoft.gwt.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HTMLTable;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;
public class GWTClient implements EntryPoint{
private static final int HeaderRowIndex = 0;
private static final Object[][] rowData = {
{ "A", "D", "I", "J"},
{ "B", "E", "H", "K"},
{ "C", "F", "G", "L"},
};
private FlexTable flexTable = new FlexTable();
public void onModuleLoad() {
flexTable.insertRow(HeaderRowIndex);
flexTable.getRowFormatter().addStyleName(HeaderRowIndex,"FlexTable-Header");
addColumn("Column1");
addColumn("Column12");
addColumn("Column13");
addColumn("Column14");
for (int row = 0; row < rowData.length; row++) {
addRow(rowData[row]);
}
applyDataRowStyles();
flexTable.setCellSpacing(0);
flexTable.addStyleName("FlexTable");
RootPanel.get().add(flexTable);
}
private void addColumn(Object columnHeading) {
Widget widget = createCellWidget(columnHeading);
int cell = flexTable.getCellCount(HeaderRowIndex);
widget.setWidth("100%");
widget.addStyleName("FlexTable-ColumnLabel");
flexTable.setWidget(HeaderRowIndex, cell, widget);
flexTable.getCellFormatter().addStyleName(
HeaderRowIndex, cell,"FlexTable-ColumnLabelCell");
}
private Widget createCellWidget(Object cellObject) {
Widget widget = null;
if (cellObject instanceof Widget)
widget = (Widget) cellObject;
else
widget = new Label(cellObject.toString());
return widget;
}
int rowIndex = 1;
private void addRow(Object[] cellObjects) {
for (int cell = 0; cell < cellObjects.length; cell++) {
Widget widget = createCellWidget(cellObjects[cell]);
flexTable.setWidget(rowIndex, cell, widget);
flexTable.getCellFormatter().addStyleName(rowIndex,cell,"FlexTable-Cell");
}
rowIndex++;
}
private void applyDataRowStyles() {
HTMLTable.RowFormatter rf = flexTable.getRowFormatter();
for (int row = 1; row < flexTable.getRowCount(); ++row) {
if ((row % 2) != 0) {
rf.addStyleName(row, "FlexTable-OddRow");
}
else {
rf.addStyleName(row, "FlexTable-EvenRow");
}
}
}
}
//////////////////
.FlexTable {
border-top: thin solid #444444;
border-left: thin solid #444444;
border-right: thin solid #111111;
border-bottom: thin solid #111111;
background-color: #505050;
}
.FlexTable-OddRow {
background-color: #cccccc;
}
.FlexTable-EvenRow {
background-color: #505050;
}
.FlexTable-ColumnLabel {
color: white;
padding: 3px;
}
.FlexTable-ColumnLabelCell {
border-width: 0 0 1px 0;
border-style: solid;
border-color: white;
margin: 0;
padding: 0;
text-align: center;
}
.FlexTable-Cell {
border-width: 0px 0px 0px 1px;
border-style: solid;
border-color: white;
padding: 5px;
}
GWT-flexTableCreate.zip( 3 k)