2016-04-28 29 views
0

我真的需要你帮助解决Vaadin Designer的问题。 我在Designer的帮助下开发了我自己的UI。到目前为止,这看起来就像我想要的样子。但是现在,我可以在哪里获得我可以编辑的源代码,以便说出例如什么时候发生的事情。一个按钮被按下了?我的项目中只有以下类: anotherDesign(其中我创建了UI), anotherDesign(它是自动生成的,但不能编辑)和 MyUI(标准类)。将Vaadin Designer连接到Java代码

所以如果任何人看到我的观点,并可以帮助我,这将是伟大的。可能这只是因为我是设计师的新手,需要一些一般信息和帮助。

THX反正,

西蒙

+1

我觉得这是根本的和几个教程解释。你在网上搜索了什么,想了解Vaadin设计师的介绍?我在使用google时发现的第一个链接是[this](https://vaadin.com/docs/-/part/designer/designer-wiring.html)。到目前为止,我没有和设计师一起工作。 –

回答

0

你写它扩展了自动生成的类的类:

AnotherDesignExt extends AnotherDesign 
+0

我已经试过了,但是当我在Tomcat服务器上部署应用程序时,它会向我显示创建新项目时自动生成的UI,而不是我创建的UI。我是否应该清理它的内容,只填写我想要的内容,还是应该创建另一个班级? –

+0

如果您仍然遇到问题,我强烈建议您使用emailclient教程:https://github.com/vaadin/designer-tutorials/tree/master/emailclient-tutorial及其配套视频:https://www.youtube.com /手表?ν= -6Ix8WHgD6g。 – FF0000

1

FF0000是绝对正确的,你需要扩展自动生成的伴侣的Java文件。让我们举一个简单的例子:你有一个VerticalLayout的和MyDesign.html声明格式的按钮看起来是这样的:

<vaadin-vertical-layout size-auto> 
    <vaadin-button plain-text _id="button"> 
     Button 
    </vaadin-button> 
</vaadin-vertical-layout> 

然后你有你的Java伴随文件MyDesign.java它看起来像:

@DesignRoot 
@AutoGenerated 
@SuppressWarnings("serial") 
public class MyDesign extends VerticalLayout { 
    protected Button button; 

    public TestDesign() { 
     Design.read(this); 
    } 
} 

然后,为了向按钮添加点击监听器,您需要扩展Java类并访问该按钮。例如:

public class MyDesignComponent extends MyDesign { 

    public MyDesignComponent() { 
     button.addClickListener(e -> Notification.show("Hello world!")); 
    } 
} 

最后在你的UI可以使用MyDesignComponent,你会任何其他Vaadin组件,例如:

public class MyUI extends UI { 

    @Override 
    protected void init(VaadinRequest vaadinRequest) { 
     setContent(new MyDesignComponent()); 
    } 
    ...