Gef/draw2d: 如何获取文字换行的高度

Gef/draw2d: How to get the height of word wrapped text

所以我正在制作一个 draw2d 程序。我有一些输入的文本,我通过这样做来换行:

    TextFlow textWrapper = new TextFlow(_title);
    FlowPage flowPage = new FlowPage();
    flowPage.add(textWrapper);

现在我需要找到固定宽度的容器内文本的高度。到目前为止,我还没有找到这样做的方法。我看过的其他线程提到了使用 getPreferredSize() 方法,但这无法 return 正确的高度。

任何建议都会有帮助,谢谢。

您应该可以通过调用 getPreferredSize(<your width>, -1) 来获取此值。为我工作,你可以阅读 here。请记住,您必须使容器无效才能工作,否则它将从其内部缓存中获取值(至少我记得是这样)。