gpt4 book ai didi

java - GWT 2 ButtonCell 在一行中添加事件

转载 作者:行者123 更新时间:2023-12-01 15:40:34 25 4
gpt4 key购买 nike

有人可以帮助我吗?我是 gwt 的新手,也许这就是这么简单。但我似乎无法弄清楚这一点......我为单元格表中的一行创建 2 个按钮,每个按钮都使用以下方法:

protected void addButtonColumn(String header, final IHasValue<Row, Button> hasVal){
Column<Row, String> column = new Column<Row, String>(new TextButtonCell()) {
@Override
public String getValue(Row object) {
return ((Button)hasVal.getValue(object)).getText();
}
};
column.setFieldUpdater(new FieldUpdater<Row, String>() {
@Override
public void update(int index, Row object, String value) {
((Button) hasVal.getValue(object)).click();
}
});
table.addColumn(column, header);
}

我希望每个按钮在单击时都有不同的效果,但它不起作用。我知道我应该在 setfieldupdater 中做一些事情,但我不知道做什么。

最佳答案

使用 TextButtonCell 来包含 Button (即小部件)并没有多大意义 - 让cell 可以访问数据,并使用 ValueUpdater 直接基于该数据触发某种行为?

单元格不是小部件 - 它们比小部件简单得多。这主要意味着两件事:它们画得更快,而且更愚蠢。这两件事都是由于使用单个单元格实例以略有不同的方式绘制许多数据的结果。如果您要努力为每个元素构建一个按钮,那么使用基于单元格的小部件是没有意义的 - 您几乎将所有内容绘制两次,并且得到了两全其美的结果(缓慢的代码,这很难与)一起工作。

不要使用附加了 ClickHandlerButton,而是使用其他一些抽象来处理点击,例如每个按钮的 Command 实例row,或者更好的是某种接受单击的行实例的处理程序。甚至可以将 FieldUpdater 实例作为方法的参数传入(并且可以使 IHasValueString 上通用,而不是Button,因此您的模型不需要包装小部件)。

(这可能不会直接回答您的问题,但希望有助于阐明我们使用单元格的原因,以及如何最好地编写利用单元格的代码。)

关于java - GWT 2 ButtonCell 在一行中添加事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8111426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com