VAADINコンポーネントでは、ユーザーは質問に対する1対Nの回答を挿入するオプションを持っている必要があります。
最初に、ボタン付きの最初の回答用に1つのテキストフィールドが必要です(「別の回答を追加」)
Button Pushで、2番目の回答用の新しいテキストフィールドを追加する必要があります。
私の質問は、ボタンプッシュで新しいテキストフィールドの動的な読み込みをどのように実現できるかということです。
この問題をどのように想像するかについての写真を追加しました。
レイアウトにテキストフィールドを追加するボタンにクリックリスナーを追加するだけです。基本的なVaadin、トリックはありません。
コードが機能しない場合は、質問に追加してください。
テキストフィールドを独自の垂直レイアウトに配置します。ボタンがクリックされるたびに、新しいテキストフィールドを垂直レイアウトに追加します。
回答を取得し、垂直レイアウトへの参照を取得してgetChildren()を呼び出すと、垂直レイアウトのすべてのTextFieldが返されます。
このようなもの:
List<String> answers = verticalLaout.getChildren()
.stream()
.map(TextField::getValue)
.collect(asList());