выдача выровненного текста с использованием TextFlow и FlowPage - PullRequest
0 голосов
/ 22 февраля 2012

Я рисую многострочную текстовую метку, используя объект FlowPage, который содержит объект TextFlow. код моего класса меток:

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 на скриншоте ниже messy label texts.

я что-то не так делаю? Спасибо за помощь

PS тот же скриншот можно найти здесь

PPS я отредактировал метод getPreferredSize, который не имел отношения к проблеме

1 Ответ

0 голосов
/ 23 февраля 2012

FlowPage не меняет себя. Он только сообщает менеджеру макета своей родительской фигуры - по запросу - какого размера он хотел бы иметь. Я не знаю, какой менеджер компоновки используется, но, возможно, он не меняет размер вашего ярлыка. Вы можете попробовать добавить

setSize(getPreferredSize());

в вашем setText(..) методе перед повторной проверкой.

...