2016-04-28 64 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()); 
    } 
    ...