PlayN + тройная раскладка

Есть ли простой способ сделать элементы в тройной обертке и продолжить ниже?

Например, если у меня есть этот код:

    Group letters = new Group(AxisLayout.horizontal(), Style.HALIGN.left);
    letters.addStyles(Styles.make(Style.TEXT_WRAP.is(true)));
    root.add(letters);

    for (int i = 0; i < 100; i++) {
        letters.add(new Label(""+i));
    }

Это покажет некоторые числа (скажем, до 30), а остальные числа исчезнут за пределами экрана, я хочу получить что-то вроде:

01 02 03 ... 28
29 30 31 ... 50

Таким образом, любой компонент, который не помещается на экране, будет добавлен ниже. Я попробовал несколько настроек, но не смог их получить

Спасибо


person AndresQ    schedule 26.12.2011    source источник


Ответы (1)


Style.TEXT_WRAP применимо только к Labels. В пользовательском интерфейсе Tripleplay нет эквивалента FlowLayout Swing, что, я думаю, вам нужно.

Если вы действительно хотите просто выложить кучу текста, то просто вставьте все это в одну метку с включенным переносом текста. Но если вы пытаетесь разместить фактические элементы пользовательского интерфейса в потоке, вам нужно будет написать собственный FlowLayout. Вы также можете использовать TableLayout, но для этого нужно заранее знать, сколько столбцов вам нужно.

Я всегда находил FlowLayout странным способом компоновки пользовательских интерфейсов, и никогда не нуждался в нем, поэтому я не писал его для пользовательского интерфейса Tripleplay.

person samskivert    schedule 28.12.2011
comment
еще один на аналогичную тему, что-то в строке AbsoluteLayout (чтобы иметь возможность позиционировать группу в фиксированной паре [x, y]) было бы возможно? Я начал возиться с кодом, но обнаружил, что некоторые методы в Element защищены, я не знаю, правильно ли это сделать, ты - person AndresQ; 29.12.2011
comment
AbsoluteLayout было бы очень легко реализовать. Если у меня будет немного времени сегодня днем, я сделаю это на скорую руку. - person samskivert; 29.12.2011
comment
Лучше поздно, чем никогда: github .com/threerings/tripleplay/blob/master/src/main/java/ - person samskivert; 02.01.2012