2017-08-15 2 views

Répondre

1

Ce n'est pas possible.

Mettre dans une mise en page est vraiment pas un gros problème, ce qui suit est tout ce que vous devez faire:

HorizontalLayout labelLayout = new HorizontalLayout(); 
labelLayout.addComponent(new Label("text")); 
labelLayout.addLayoutClickListener(e -> <code that does something>); 

Si vous ne voulez pas le faire, vous pouvez utiliser un tiers ajouter sur lequel fait exactement ce que vous voulez. https://vaadin.com/directory#!addon/labelbutton

Avec elle, vous pouvez le faire:

LabelButton label = new LabelButton("text", event -> <do something>); 
+0

J'aime le tiers ajouter. Cela a sauvé mon temps. – user1631306

1

Je vous recommande d'utiliser un bouton et d'ajouter de style sans marge comme le montre le code ci-dessous. Il apparaîtra comme une étiquette.

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);