我一般在vaadin框架上有问题。
我创建了一个类来扩展vaadin应用程序(MyFirst),然后用vaadin可视设计器(MyFormApp)创建了一个自定义组件。
我确实实例化了自定义组件MyFormApp,并将其添加到MyFirst的主窗口中。
部署应用程序后,vaadin生成的页面未显示任何组件。
我的代码:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.example.vaadin;
import com.vaadin.Application;
import com.vaadin.ui.*;
/**
*
* @author anis.bouchenafa
*/
public class MyFirst extends Application{
private Button newContact = new Button("Add contact");
private Button search = new Button("Search");
private Button share = new Button("Share");
private Button help = new Button("Help");
private HorizontalSplitPanel horizontalSplit = new HorizontalSplitPanel();
private TextField tf = new TextField();
@Override
public void init() {
//buildMainLayout();
MyFirstApp a = new MyFirstApp();
Window w = new Window("aness conf");
w.addComponent(a);
setMainWindow(w);
}
}
我的第二堂课是MyFirstApp(自定义组件):
package com.example.vaadin;
import com.vaadin.annotations.AutoGenerated;
import com.vaadin.ui.AbsoluteLayout;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.LoginForm;
public class MyFirstApp extends CustomComponent {
@AutoGenerated
private AbsoluteLayout mainLayout;
@AutoGenerated
private LoginForm loginForm_2;
/*- VaadinEditorProperties= {"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
/*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
/**
* The constructor should first build the main layout, set the
* composition root and then do any custom initialization.
*
* The constructor will not be automatically regenerated by the
* visual editor.
*/
public MyFirstApp() {
buildMainLayout();
setCompositionRoot(mainLayout);
// TODO add user code here
}
@AutoGenerated
private AbsoluteLayout buildMainLayout() {
// common part: create layout
mainLayout = new AbsoluteLayout();
mainLayout.setImmediate(false);
mainLayout.setWidth("100%");
mainLayout.setHeight("100%");
// top-level component properties
setWidth("100.0%");
setHeight("100.0%");
// loginForm_2
loginForm_2 = new LoginForm();
loginForm_2.setStyleName("v-loginform");
loginForm_2.setImmediate(false);
loginForm_2.setWidth("340px");
loginForm_2.setHeight("-1px");
mainLayout.addComponent(loginForm_2, "top:160.0px;left:200.0px;");
return mainLayout;
}
}
在执行servlet之后,浏览器中没有任何显示。
好吧,您将buildMainLayout()称为视觉空白。它仅包含一个AbsoluteLayout和一个LoginForm(),其中没有任何组件。这就像生成无边界的HTML表,而不添加任何文本。
我认为您想添加您的组件
private Button newContact = new Button("Add contact");
private Button search = new Button("Search");
private Button share = new Button("Share");
private Button help = new Button("Help");
private HorizontalSplitPanel horizontalSplit = new HorizontalSplitPanel();
private TextField tf = new TextField();
应该
Vaadin手册中还详细解释了布局(以及其他基础知识):
瓦丹书: https :
//vaadin.com/book/-//page/intro.html
Vaadin书-布局: 布局:https://vaadin.com/book/-//page/layout.html
Vaadin布局示例: http :
//demo.vaadin.com/sampler#Layouts
我有一些代码可以将Vaadin LoginForm组件添加到我的页面中 但它只显示了空白页。我在Chrome的dom编辑器显示一个空标签... 我正在运行瓦丁14.07 你知道为什么会这样吗?
场景: 比如有一个调查问卷的项目,每个问卷里有很多道题,点击可以切换下一道题 假设我需要在显示之后的题目之前,展示所有题目的预览页面,且可以截图,应该如何显示? (如果只能在预览页面里遍历所有的题目全部渲染,这样是否会有性能问题?)
我有一个包含4个项目的解决方案:Console netcoreapp3。1,标准类库2.1,辅助服务netcoreapp3。1、netcoreapp3下的xunit测试项目。1. 我做到了: sourceanalyzer-b*-清洁 sourceanalyzer-b X.sln msbuild“C:\X\X.sln”/nologo/v:n/t:Rebuild sourceanalyzer-显示生成
我在eclipse中有一个使用jsf的动态web应用程序。我用“New java server faces(jsf)page(xhtml)”模板创建了一个jsp页面,希望只显示一个h:inputText,但当我在tomcat中运行应用程序时,inputText没有显示出来。 有什么问题?
这是我的代码,当我执行时,我得到的只是一个空白窗口。首先,当我尝试执行时,我得到了这个错误: “无法对非静态字段面板进行静态引用” 所以我把它放在构造器中,但什么都不会显示。
问题内容: 我有以下过程代码: 当我键入Oracle时返回。最大的问题是它将返回“测试”。Oracle为什么不返回“测试”? 问题答案: 您需要启用打印到标准输出。 在SQL * Plus中,最简单的方法是使用serveroutput: