0

我正在使用包含 TextFlow 对象的 FlowPage 对象绘制多行文本标签。我的标签类的代码是:

class TransitionLabel extends FlowPage {
    private TextFlow content;
    
    public TransitionLabel()
    {
        setForegroundColor(ColorConstants.white);
        setHorizontalAligment(PositionConstants.CENTER);
        content = new TextFlow();
        content.setOpaque(true);
        content.setText("");
        add(content);
    }
    
    public void setText(String content)
    {
        this.content.setText(content);
        revalidate();
        repaint();
    }
    
    public String getText()
    {
        return this.content.getText();
    }
    
}

当控件刷新(修改后)时,它会像下面屏幕截图中的 SEND 标签一样结束凌乱的标签文本

难道我做错了什么?谢谢你的帮助

PS相同的截图可以在这里找到

PPS 我编辑了getPreferredSize与问题无关的方法

4

1 回答 1

0

FlowPage不会自行调整大小。它只告诉布局管理器它的父图形 - 根据要求 - 它想要具有什么大小。我不使用什么布局管理器,但也许它不会调整您的标签大小。您可以尝试添加

setSize(getPreferredSize());

在重新验证之前在您的setText(..)方法中。

于 2012-02-23T08:29:44.237 回答