微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将ClickableTextCells列添加到cellTable

如何解决如何将ClickableTextCells列添加到cellTable

|| 大家好 我需要一个简单的示例,向我展示如何将ClickableTextCells列添加到cellTable 谢谢。     

解决方法

Column<YerValueObject,String> newCol = new Column<YerValueObject,String>(new  ClickableTextCell()) {
    @Override
    public String getValue(YearValueObject obj) {
        return obj.someMethod();
    }

};

newCol.setFieldUpdater(new FieldUpdater<YerValueObject,String>() {
    @Override
    public void update(int index,YerValueObject obj,String value) {
        //do whatever you need to here...
    }
});

table.addColumn(newCol,\"ClickColumn\");
    ,如果您需要将clickableTextCell添加到cellTable,这是解决方案
// ClickableTextCell

ClickableTextCell anchorcolumn = new ClickableTextCell();
table.addColumn(addColumn(anchorcolumn,new GetValue<String>() {
        public String getValue(Contact contact) {
            return \"Click \" + contact.anchor;
        }
    },new FieldUpdater<Contact,String>() {
        public void update(int index,Contact object,String value) {
            Window.alert(\"You clicked \" + object.name);
        }
    }),\"Anchor\");



private <C> Column<Contact,C> addColumn(Cell<C> cell,final GetValue<C> getter,FieldUpdater<Contact,C> fieldUpdater) {
        Column<Contact,C> column = new Column<Contact,C>(cell) {

        @Override
        public C getValue(Contact object) {
            return getter.getValue(object);
        }
    };
    column.setFieldUpdater(fieldUpdater);

    return column;
}

private static interface GetValue<C> {
    C getValue(Contact contact);
}


// A simple data type that represents a contact.
    private static class Contact {
        private final String address;
        private final String name;
        private final String anchor;

        public Contact(String name,String address,String anchor) {
            this.name = name;
            this.address = address;
            this.anchor = anchor;
        }
    }
    ,创建一个覆盖
onBrowserEvent
方法的
Column
。 像这样:
new Column<T,String>(new TextCell()) {
    @Override
    public String getValue(T object) {
        return object.getProperty();
    }

    @Override
    public void onBrowserEvent(Context context,Element elem,T object,NativeEvent event) {
        // TODO You can check which event you want to catch
        Window.open(\"http://www.stackoverflow.com\",\"StackOverFlow\",\"\");
    }
};
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?