2016-04-16 1 views
1

Я использую аккордеон Vaadin в моем проекте, может кто-нибудь, пожалуйста, помогите мне реализовать эту функциональность, где, когда я нажимаю на вкладку в аккордеоне, она должна перемещать одну позицию вверх, то есть при нажатии на вкладке аккордеона, он должен поменять себя на вкладку над ней.Подмена вкладок в vaadin accordian

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

Может кто-нибудь, пожалуйста, предложите мне, как я могу это сделать.

+1

Вы пытались [это] (https://vaadin.com/api/com/vaadin/ui/TabSheet.html#setTabPosition%28com.vaadin.ui.TabSheet. Tab,% 20int% 29) метод? Отправьте свой код. –

+0

Привет, спасибо за попытку помочь, я, наконец, понял это, я использовал функцию .replaceComponent, которая меняла только вкладку, но не содержала эту вкладку. –

ответ

1
  1. Сначала найдите позицию закладки, которую вы только что нажали.

    int pos = sample.getTabPosition(sample.getTab(sample.getSelectedTab()));

  2. pos-1 Теперь дает положение на предыдущую вкладку.

  3. Теперь получите обе вкладки.

    Tab clickTab = sample.getTab(pos);
    Tab preTab = sample.getTab(pos-1);

  4. Теперь используйте .setTabPosition, чтобы переместить вкладку.

    sample.setTabPosition(preTab, pos);
    sample.setTabPosition(clickTab, pos-1);