我正在使用 Eclipse Juno(带有最新补丁)、最新的 GWT 和 java。
我正在将图像加载到一个 flextable 中,关联的姓氏和名字连接起来,并显示在 7 xn 网格中的每个图像下方。我现在要做的是给每个图像一个唯一的名称并为其分配一个点击处理程序。然后,我将在图像上选择一个单击事件,并显示下一个填充了该人详细信息的视图。
flextable 是用于此的正确小部件,还是我应该使用不同的小部件来包含图像和名称?
如何给每张图片一个唯一的名称,以便我知道选择了哪张图片?
如何将唯一的图像名称传递给 onClick 侦听器?
这是我正在使用的代码:
public void renderYouthMemberTable(List<YouthMember> youthMemberList) {
if (youthMemberList != null) {
int row = 0;
int col = 0;
flexTable.clear();
for (YouthMember youthMember : youthMemberList) {
String imageDataString = youthMember.getPhotograph();
//Display each image with the name under it.
Image image = new Image(imageDataString);
flexTable.setWidget(row, col, image);
flexTable.setWidget(row + 1, col, new Label(youthMember.getSurname() + ", " + youthMember.getFirstname()));
//Add click handler
image.addClickHandler((ClickHandler) this);
//Go to next column and if the end of the columns
//drop two rows and go to the first column
col = col + 1;
if (col > 7) {
row = row + 2;
col = 0;
}
}
}
}
public void onClick(ClickEvent event) {
// note that in general, events can have sources that are not Widgets.
Widget sender = (Widget) event.getSource();
if (sender == image) {
// handle image1 being clicked
}
else if (sender == image2) {
// handle image2 being clicked
}
}
onClick 还没有工作。这只是为了展示我想要实现的目标。
谢谢你的帮助,
格林