下のコードを実行すると、画像は表示されますが、その下に名前は表示されません。Window.alert には正しい名前が表示されます。したがって、エラーは次の行にある必要があります。
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);