我正在使用GWT 1.6。
我正在创建一个包含Button和Label的面板,然后我将其添加到FlexTable作为其单元格之一。
Button没有收到任何Click事件。我看到该表支持确定单击哪个Cell,但在这种情况下,我希望Mouse事件传播到单元格内的各个小部件。关于如何做到这一点的任何想法?
答案 0 :(得分:1)
是的,我也是这样 - 表中的小部件都不会收到事件。我最终使用了这样的代码:
FixedWidthGrid dataTable = createDataTable();
...
dataTable.addTableListener(new TableListener() {
public void onCellClicked(SourcesTableEvents sender, int row, int cell) {
storyViewer.showStory(table.getRowValue(row));
}
});
你可以从类似的东西开始,然后以编程方式将事件发送到你的按钮小部件,以便出现点击。
答案 1 :(得分:0)
如果你知道你的桌子有多大,那就用网格代替。您的所有小部件都将收到活动。我已经完成了这个并创建了我自己的可排序表。
答案 2 :(得分:0)
你必须继承Button google Class并添加一个带有两个额外参数的构造函数(int col,int row)。 e.g。
public class RuleButton extends Button {
private int row;
private int col;
public RuleButton(String html, ClickListener listener, int row, int col) {
super(html, listener);
setRow(row);
setCol(col);
}
// getters and setters for row and col attributes.
}
添加按钮时,调用此构造函数并将row和col索引传递给它。