Gwt 使用UiBinder创建CellBrowser
我试图在GWT中创建简单的单元格浏览器,但它显示为空白。这里我有显示为空白的代码,请检查Gwt 使用UiBinder创建CellBrowser,gwt,cellbrowser,Gwt,Cellbrowser,我试图在GWT中创建简单的单元格浏览器,但它显示为空白。这里我有显示为空白的代码,请检查 import java.util.ArrayList; import java.util.List; import com.google.gwt.cell.client.AbstractCell; import com.google.gwt.cell.client.Cell; import com.google.gwt.core.client.GWT; import com.google.gwt.safeh
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.cell.client.AbstractCell;
import com.google.gwt.cell.client.Cell;
import com.google.gwt.core.client.GWT;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.cellview.client.CellBrowser;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.SingleSelectionModel;
import com.google.gwt.view.client.TreeViewModel;
public class ContactCellBrowser extends Composite{
private static ContactCellBrowserUiBinder uiBinder = GWT
.create(ContactCellBrowserUiBinder.class);
interface ContactCellBrowserUiBinder extends
UiBinder<Widget, ContactCellBrowser> {
}
@UiField(provided=true)
CellBrowser cellBrowser;
@UiField
Label selectedLabel;
public ContactCellBrowser() {
CustomTreeView treeModel=new CustomTreeView();
cellBrowser=new CellBrowser(treeModel, null);
cellBrowser.setAnimationEnabled(true);
initWidget(uiBinder.createAndBindUi(this));
}
private static class CustomTreeView implements TreeViewModel
{
private final List<String> contacts;
private final SingleSelectionModel<String> singleSelectionModel=new SingleSelectionModel<String>();
public CustomTreeView() {
contacts=new ArrayList<String>();
for(int i=0;i<5;i++)
{
contacts.add("Name "+i);
}
}
@Override
public <T> NodeInfo<?> getNodeInfo(T value) {
if(value==null)
{
ListDataProvider<String> dataProvider=new ListDataProvider<String>();
for(int i=0;i<5;i++)
{
dataProvider.getList().add("Name "+i);
}
Cell<String> cell=new AbstractCell<String>() {
@Override
public void render(
com.google.gwt.cell.client.Cell.Context context,
String value, SafeHtmlBuilder sb) {
if(value!=null)
{
sb.appendEscaped(value);
}
}
};
return new DefaultNodeInfo<String>(dataProvider, cell);
}
return null;
}
@Override
public boolean isLeaf(Object value) {
// The maximum length of a value is ten characters.
return true;
}
}
import java.util.ArrayList;
导入java.util.List;
导入com.google.gwt.cell.client.AbstractCell;
导入com.google.gwt.cell.client.cell;
导入com.google.gwt.core.client.gwt;
导入com.google.gwt.safehtml.shared.SafeHtmlBuilder;
导入com.google.gwt.uibinder.client.uibinder;
导入com.google.gwt.uibinder.client.UiField;
导入com.google.gwt.user.cellview.client.CellBrowser;
导入com.google.gwt.user.client.ui.Composite;
导入com.google.gwt.user.client.ui.Label;
导入com.google.gwt.user.client.ui.Widget;
导入com.google.gwt.view.client.ListDataProvider;
导入com.google.gwt.view.client.SingleSelectionModel;
导入com.google.gwt.view.client.TreeViewModel;
公共类ContactCellBrowser扩展了复合{
专用静态联系人CellBrowserUIBinder uiBinder=GWT
.create(ContactCellBrowserUiBinder.class);
接口ContactCellBrowserUiBinder扩展
UiBinder{
}
@UiField(提供的=真)
手机浏览器;
@尤菲尔德
标签选择标签;
公共联系人CellBrowser(){
CustomTreeView treeModel=新建CustomTreeView();
cellBrowser=新的cellBrowser(treeModel,null);
cellBrowser.setAnimationEnabled(true);
initWidget(uiBinder.createAndBindUi(this));
}
私有静态类CustomTreeView实现TreeViewModel
{
私人最终名单联系人;
private final SingleSelectionModel SingleSelectionModel=新的SingleSelectionModel();
公共CustomTreeView(){
联系人=新的ArrayList();
对于(int i=0;i要显示手机浏览器,必须插入
@UiFactory CellBrowser makeCellBrowser() { // method name is insignificant
CellBrowser cellBrowser = new CellBrowser(treeModel, null);
return cellBrowser;
}