我有一个带有标签的网格,单击标签时我需要执行一个操作。
你知道我怎样才能做到这一点吗?我更喜欢使用标签监听器而不是可点击布局。我不想使用看起来像纯文本的按钮。
你不能。Vaadin 标签没有任何点击侦听器 => 您不能直接侦听 Vaadin 标签上的点击(至少在不下降到客户端上的 javascript 的情况下不能)。
简而言之:如果您想知道一个组件(并且该组件不支持 ClickListener),可点击布局是规范的方法。
我想你没有办法com.vaadin.ui.Label
并且com.vaadin.ui.Button.ClickListener
你必须使用平面按钮。
有一种方法可以实现这一点:
final Label label= new Label("My clickable Label");
myForm.addComponent(label);
myForm.addLayoutClickListener(new LayoutClickListener() {
@Override
public void layoutClick(LayoutClickEvent event) {
// capture click and do whatever you'd like to do
if (event.getClickedComponent() != null) {
if (event.getClickedComponent().equals(label)) {
System.out.println("clicked!");
}
}
}
});