私はEclipseJuno(最新のパッチを適用)、最新のGWTおよびJavaを使用しています。
7 xnグリッドの各画像の下に、関連付けられた名前と名を連結して表示した画像をフレックステーブルに読み込んでいます。私が今やりたいのは、各画像に一意の名前を付け、それにクリックハンドラーを割り当てることです。次に、画像のクリックイベントを取得し、その人物の詳細が入力された次のビューを表示します。
フレックステーブルはこれに使用する正しいウィジェットですか、それとも画像と名前を含めるために別のウィジェットを使用する必要がありますか?
どの画像が選択されたかがわかるように、各画像に一意の名前を付けるにはどうすればよいですか?
一意の画像名を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はまだ機能しません。これは私が達成したいことを示すためにここにあります。
ご協力いただきありがとうございます、
グリン