如何在不添加水平或垂直布局的情况下将clicklistener添加到vaadin标签?我想在点击标签时显示工具提示,而不是鼠标悬停。
答案 0 :(得分:6)
那是不可能的。
将它放在布局中并不是什么大不了的事,以下是您需要做的:
HorizontalLayout labelLayout = new HorizontalLayout();
labelLayout.addComponent(new Label("text"));
labelLayout.addLayoutClickListener( e -> <code that does something>);
如果您不想这样做,您可以使用第三方添加,这完全符合您的要求。 https://vaadin.com/directory#!addon/labelbutton
有了它,你可以这样做:
LabelButton label = new LabelButton("text", event -> <do something>);
答案 1 :(得分:5)
我建议您使用按钮并添加无边框样式,如下面的代码所示。它将显示为标签。
VerticalLayout vertical = new VerticalLayout();
vertical.addComponent(new Label("Am the Hint..."));
PopupView popup = new PopupView(null,vertical);
Button b = new Button("Show Hint");
b.addStyleName(ValoTheme.BUTTON_BORDERLESS);
b.addClickListener((Button.ClickEvent event) -> {
popup.setPopupVisible(true);
});
addComponents(b, popup);