0
当我执行下面的代码时,显示图像,但名称不显示在它下面。 Window.alert确实显示正确的名称。因此,误差必须在该行:我已经寻找类似的代码在网上FlexTable中显示标签的问题
flexTable.setWidget(row + 1, col, new Label(youthMember.getSurname() + ", " + youthMember.getFirstname()));
但我不能找到一个解决方案。
我正在使用Eclipse Juno和GWT。
非常感谢您的帮助。
问候,
格林
public void renderYouthMemberTable(List<YouthMember> youthMemberList) {
if (youthMemberList != null) {
int row = 0;
int col = 0;
flexTable.clear();
for (final 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()));
Window.alert("Name " + youthMember.getSurname() + ", " + youthMember.getFirstname());
//Add click handler
image.addClickHandler(new ClickHandler(){
@Override
public void onClick(ClickEvent event){
// Do something - Go to next view passing the ID
//returnID = youthMember.getId();
//Window.alert("returnID = " + returnID);
//navHandler.go(AwardOverview);
Window.alert("Picture clicked");
}
});
//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;
}
}
}
}
答案是名字被显示。但是,它不可见。所以我改变了代码(改变是图像显示之后 - 这总是工作):
flexTable.setWidget(row, col, image);
Label lblYMname = new Label (youthMember.getSurname() + ", " + youthMember.getFirstname());
lblYMname.setStyleName("gwt-Label-Login");
lblYMname.setWidth("151px");
flexTable.setWidget(row + 1, col, lblYMname);