Google Web Toolkit — Flextable с VerticalPanel

[Flextable1][Flextable2]
[Flextable3][Flextable4]

Внутри каждого гибкого стола: поставьте вертикальную панель

внутри каждой вертикальной панели: состоит из метки и ссылки, как показано на диаграмме ниже:

введите здесь описание изображения

Я хочу использовать цикл for в flextable, но не знаю, с чего начать.
Пожалуйста, помогите мне решить. Спасибо.


person user3007865    schedule 10.05.2014    source источник


Ответы (1)


Это очень простой код. Читайте встроенные комментарии для получения дополнительной информации.

// root flex table that contains other widgets
FlexTable rootFlexTable = new FlexTable();

int counter = 0;
// 2 rows and 2 columns (change it as per your requirement)
for (int i = 0; i < 2; i++) { // rows
    for (int j = 0; j < 2; j++) {// columns
        counter++;

        FlexTable flexTable = new FlexTable();
        VerticalPanel verticalPanel = new VerticalPanel();

        Label label = new Label("No " + counter + "(label)");
        Hyperlink hyperlink = new Hyperlink("Name " + counter + "(link)", 
                                                           "link" + counter);

        verticalPanel.add(label);
        verticalPanel.add(hyperlink);

        // why are you using one extra flex table 
        // that contains only single component?
        flexTable.setWidget(0, 0, verticalPanel);

        // add inner flex table at row i and column j
        rootFlexTable.setWidget(i, j, flexTable);
    }
}

RootPanel.get().add(rootFlexTable);

Снимок экрана:

введите здесь описание изображения

person Braj    schedule 10.05.2014
comment
Брай, большое спасибо. Вы решили мою проблему. Я прочитаю весь ваш код и комментарии, которые вы написали. - person user3007865; 12.05.2014
comment
Брадж, мне нужна твоя помощь. Как добавить обработчик щелчка для привязки в цикле for? - person user3007865; 17.05.2014
comment
Посмотрите на Как подключить обработчик гиперссылок GWT? - person Braj; 17.05.2014