Java 如何调整SmartGWT标签或HTMLFlow的大小以适应内容的大小?

Java 如何调整SmartGWT标签或HTMLFlow的大小以适应内容的大小?,java,gwt,user-interface,resize,smartgwt,Java,Gwt,User Interface,Resize,Smartgwt,我觉得我一定在做一些非常愚蠢的事情。如何根据内容调整HTMLFlow的大小?我不需要动态地完成这项工作,只需要在创建它的第一次也是唯一一次。下面是我尝试过的两种方法(没有列出各种排列),但运气不佳。我也试过使用标签,但没有效果 HLayout layout = new HLayout(); layout.setWidth100(); layout.setHeight(25); HTMLFlow bodyTypeLabel = new HTMLFlow();

我觉得我一定在做一些非常愚蠢的事情。如何根据内容调整HTMLFlow的大小?我不需要动态地完成这项工作,只需要在创建它的第一次也是唯一一次。下面是我尝试过的两种方法(没有列出各种排列),但运气不佳。我也试过使用标签,但没有效果

    HLayout layout = new HLayout();
    layout.setWidth100();
    layout.setHeight(25);

    HTMLFlow bodyTypeLabel = new HTMLFlow();
    bodyTypeLabel.setHeight(25);
    bodyTypeLabel.setContents(wrapFontFace("longer content", "verdana", "2"));

    HTMLFlow drinkLabel = new HTMLFlow();
    drinkLabel.setHeight(25);
    drinkLabel.setWidth(10);
    drinklabel.setAutoWidth();
    drinkLabel.setOverflow(Overflow.VISIBLE);
    drinkLabel.setContents(wrapFontFace("content2", "verdana", "2"));
基本上,无论是哪一种情况,宽度都被设置为某个不变的固定值

结果会像这样

longer content            content2

在第二个示例中,“longercontent”应该在一行上,因为它是与“content2”分开的标签/htmlflow。所以,我要么得到很多额外的间距,要么换行。这看起来应该很简单,有人能帮我吗?我希望它看起来像:

longer content content2

看起来这对我来说很有用:

drinkLabel.setHeight(25);
drinkLabel.setWidth(10);
drinkLabel.setOverflow(Overflow.VISIBLE);
drinkLabel.setContents(wrapFontFace(drinkContent, "verdana", "2"));
drinkLabel.setWrap(false);
drinkLabel.setExtraSpace(5);

最后一点是因为它似乎从内容grr中删除了空格。我希望有某种方法不让它这样做。

如果有人有更好的解决方案,我会接受它而不是这个。尝试使用
drinkContent.replaceAll(“,”)
来保持空格不变。
drinkLabel.setHeight(25);
drinkLabel.setWidth(10);
drinkLabel.setOverflow(Overflow.VISIBLE);
drinkLabel.setContents(wrapFontFace(drinkContent, "verdana", "2"));
drinkLabel.setWrap(false);
drinkLabel.setExtraSpace(5);