Vaadin で流動的なレイアウトを作成するのに問題があります。私が理解しているように、コンテナーのサイズをその内容に基づいて計算するには、setSizeUndefined()
メソッドを使用する必要があります。
これは問題なく動作しますが、利用可能なすべてのスペースをこのコンテナに未定義のサイズで使用するコンポーネントを追加したい場合に問題が発生します。これを機能させることはできません。
これが私がやろうとしていることの簡単なサンプルです:
VerticalLayout layout = new VerticalLayout();
layout.setSizeUndefined();
layout.setMargin(false);
layout.addComponent(createButton("A somewhat longer label"));
layout.addComponent(createButton("Short label"));
private Button createButton(String label) {
Button button = new Button(label);
button.setSizeFull();
button.setWidth("100%");
return button;
}
ボタンは、垂直レイアウト コンテナーの幅全体を占有しません。未定義のサイズのコンテナ内に「100%」のサイズを設定することは許可されていないことをあちこちで読みましたが、流体レイアウトに未定義のサイズが必要であることを念頭に置いて、達成したいことをどのように達成する必要がありますか?
私のユースケースでは未定義のサイズは必要ないと誰かが考えている場合は、それに関する詳細情報を喜んで提供します。私はFlexのバックグラウンドが強いため、この問題を間違った角度から見る可能性があります。