我有一个带标签的网格,我需要在点击标签时执行操作。
你知道我怎么能做到这一点?我更喜欢使用标签监听器而不是可点击的布局。我不想使用看起来像纯文本的按钮。
答案 0 :(得分:3)
你不能。 Vaadin Labels没有任何点击监听器=>你无法直接听取Vaadin标签上的点击(至少不会在客户端下载到javascript中)。
简而言之:如果您想知道某个组件的时间(并且该组件不支持ClickListener),那么可单击的布局就是规范的方法。
答案 1 :(得分:1)
我想com.vaadin.ui.Label
无法使用,com.vaadin.ui.Button.ClickListener
你必须使用平面按钮。
答案 2 :(得分:0)
有一种方法可以实现这一目标:
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!");
}
}
}
});