美好的一天。我正在一个具有html布局的Vaadin项目中工作。我想在点击时更改图例文字。这是html布局。
<vaadin-panel _id="namePanel" class="layoutContainer">
<vaadin-vertical-layout>
<vaadin-label style-name="colored" class="cssStyle" _id="namePanel">
<legend>Name</legend>
</vaadin-label>
目前,此名称Label上有一个ClickListener,可在单击后显示fullName name.addContextClickListener(event - &gt; showData());
private void showData() {
x++;
boolean checking = false;
if (x % 2 != 0) {
checking = true;
}
fullName.setVisible(checking);
我需要在onClick上将文本(标签)“名称”更改为“全名”。
所以我想出了如何导入JavaScript以及如何发出警报。
Page.getCurrent().getJavaScript().execute("alert('Hello')");
我猜我会按照这条路线更改点击文字?
或者我可以将textListener与HTML内容一起使用吗?
另外,如何让Vaadin点击响应左键单击而不是右键单击?
感谢您提供任何建议。
答案 0 :(得分:1)
一个选项是让Label
成为Vaadin Button
并对其进行样式设置,使其看起来不像按钮,然后添加点击监听器。
另一个选项是定义LayoutClickListener
并将Label
添加到包含final Label fullName = new Label( "Name" );
VerticalLayout layout = new VerticalLayout();
layout.addComponent( fullName );
layout.addLayoutClickListener( new LayoutClickListener() {
@Override
public void layoutClick( LayoutClickEvent event )
{
// whatever you want to do, the following may or may not be right
if ( event.getClickedComponent() == fullName )
( (Label) event.getClickedComponent() ).setValue( "Full Name" );
}
} );
的布局中。这是一个例子:
user-story
有关详细信息,请查看at this Vaadin forum post