1
私は画像要素にクリックすると、イベントが実行される必要があり、IはUI.getCurrent()
要素をクリックしたときに他方の側に、別の異なるイベントがVaadinの子要素へのonclickイベントの伝播を防ぐにはどうすればよいですか?
実行されるIは、UI要素AbsoluteLayout(leftLayout)内に有し、かつこの中に画像が配置されています。
実際に、画像をクリックすると、2つのイベントが発生します。「ゲームオーバー」通知が表示され、その下に「良い」通知が表示されます。
onclick UI.getCurrent()
イベントのイメージ要素への伝播を防ぐにはどうすればよいですか?
public class VaadinmatchinggameUI extends UI{
//...
private AbsoluteLayout leftLayout = new AbsoluteLayout();
///...
@Override
protected void init(VaadinRequest request) {
//...
UI.getCurrent().addClickListener(new ClickListener() {
@Override
public void click(ClickEvent event) {
Notification.show("Game Over");
}
});
addImg();
}
private void addImg() {
//...
FileResource resource = new FileResource(new File(PATH));
Image face = face = new Image(null, resource);
leftLayout.addComponent(face, "top:" + randomTop
+ "px; left:" + randomLeft + "px;");
face.addClickListener(new ClickListener() {
@Override
public void click(ClickEvent event) {
Notification.show("Good", Notification.Type.HUMANIZED_MESSAGE);
}
});
}
}
ありがとうございます、私はvaadinバージョン7.6.3を使用していますが、これは変更なしでうまく動作します –