Layout 如何在Vaadin中设置子窗口的最小宽度大小?

Layout 如何在Vaadin中设置子窗口的最小宽度大小?,layout,size,vaadin,Layout,Size,Vaadin,在我的Vaadin代码中,我想将最小宽度特性添加到我的子窗口中。 我将子窗口的宽度设置为主窗口的25%,但我不希望它太小。我希望它至少为“125px”。我如何用java代码设置它 public class Awindow extends Window{ ... public Awindow(...) setModal(true); setCaption("Hello"); this.setHeight("100%"); this.setWidth("25%");/

在我的Vaadin代码中,我想将最小宽度特性添加到我的子窗口中。 我将子窗口的宽度设置为主窗口的25%,但我不希望它太小。我希望它至少为“125px”。我如何用java代码设置它

public class Awindow extends Window{
...
public Awindow(...)
    setModal(true);
    setCaption("Hello");
    this.setHeight("100%");
    this.setWidth("25%");// I don't want it to be %25 all the time,I want it to remain still after "150px".

    VerticalLayout layout = new VerticalLayout (
        memberTable,
        new HorizontalTable(
             createButton,
             eraseButton)
    );
    layout.setSpacing(true);
    ...
    this.setContent(layout);

我所知道的唯一可能的解决方案是使用css

您可以为.v窗口类添加css,例如:

.v-window {
      min-width: 125px !important;
 }

我所知道的唯一可能的解决方案是使用css

您可以为.v窗口类添加css,例如:

.v-window {
      min-width: 125px !important;
 }

如果您想要完全编程
1) 以编程方式将css样式添加到页面样式

UI.getCurrent().getPage().getStyles().add(".min125px{min-width: 125px !important;}");
2) 将此样式(min125px)添加到按钮中

createButton.addStyleName("min125px");
eraseButton.addStyleName("min125px");

如果您想要完全编程
1) 以编程方式将css样式添加到页面样式

UI.getCurrent().getPage().getStyles().add(".min125px{min-width: 125px !important;}");
2) 将此样式(min125px)添加到按钮中

createButton.addStyleName("min125px");
eraseButton.addStyleName("min125px");
只要不是由Vaadin实现的,您可能希望签出以下加载项:。这与其他答案所提出的基本相同,但是有一个很好的服务器端api

例如:

new Restrain(component).setMinWidth("125px");
只要不是由Vaadin实现的,您可能希望签出以下加载项:。这与其他答案所提出的基本相同,但是有一个很好的服务器端api

例如:

new Restrain(component).setMinWidth("125px");

谢谢你的回答,但我正在寻找一个java代码我不知道它是否可以算作java代码,但你可以从java添加所需的css样式-这里有一些例子:或者你可以使用CSSInject插件:谢谢你的回答,但我正在寻找一个java代码我不知道它是否可以算作java代码,但你可以添加所需的来自java的css样式-以下是一些示例:或者您可以使用CSSInject插件: