Java VAADIN—添加文本字段

Java VAADIN—添加文本字段,java,vaadin,Java,Vaadin,在VAADIN组件中,用户应该可以选择插入一对N的问题答案 第一个答案应有一个文本字段,带有按钮“添加另一个答案” 在按钮按下时,应该为第二个答案添加一个新的文本字段,以此类推 我的问题是,如何在按下按钮时实现新文本字段的动态加载 我添加了一张我如何想象这个问题的图片 只需在按钮中添加一个click listener,即可将文本字段添加到布局中。基本的瓦丁,没有把戏 如果您的代码不起作用,请将其添加到您的问题中。将文本字段放在其自身的垂直布局中,每当单击按钮时,将新文本字段添加到垂直布局中 检索

在VAADIN组件中,用户应该可以选择插入一对N的问题答案

第一个答案应有一个文本字段,带有按钮“添加另一个答案”

在按钮按下时,应该为第二个答案添加一个新的文本字段,以此类推

我的问题是,如何在按下按钮时实现新文本字段的动态加载

我添加了一张我如何想象这个问题的图片


只需在按钮中添加一个click listener,即可将文本字段添加到布局中。基本的瓦丁,没有把戏


如果您的代码不起作用,请将其添加到您的问题中。

将文本字段放在其自身的垂直布局中,每当单击按钮时,将新文本字段添加到垂直布局中

检索答案时,获取垂直布局的引用并调用getChildren,这将返回垂直布局中的所有文本字段

大概是这样的:

List<String> answers = verticalLaout.getChildren()
                                   .stream()
                                   .map(TextField::getValue)
                                   .collect(asList());

但是,如果我通过Listener添加文本框,我如何从中读取值。我的意思是,如何为生成的文本框设置唯一的ID?创建文本字段时,必须记住它,比如在将ID映射到文本字段的映射中。这不是瓦丁特有的。