2016-04-16 11 views
1

Ich benutze Vaadin Akkordeon in meinem Projekt, kann jemand bitte mir helfen, diese Funktionalität zu implementieren, wo, wenn ich auf eine Registerkarte im Akkordeon klicke, muss es eine Position nach oben bewegen, dh beim Klicken Auf einer Akkordeon-Registerkarte muss es sich mit der darüber liegenden Registerkarte vertauschen.Swapping Tabs in Vaadin Akkordeon

Ich habe versucht, den Tab-Index zu verwenden und ihn zu tauschen, aber nur der Tab wird getauscht, aber der Inhalt dieser Tabs bleibt unverändert.

Kann mir jemand bitte vorschlagen, wie kann ich das tun.

+1

Sie haben versucht, [diese] (https://vaadin.com/api/com/vaadin/ui/TabSheet.html#setTabPosition%28com.vaadin.ui.TabSheet. Tab,% 20int% 29) Methode? Bitte posten Sie Ihren Code. –

+0

Hallo, danke, dass du versucht hast zu helfen. Ich habe es selbst herausgefunden. Ich habe die .replaceComponent Funktion benutzt, die nur den Tab, aber nicht den Inhalt dieses Tabs getauscht hat. –

Antwort

1
  1. Suchen Sie zuerst die Position der Registerkarte, die Sie gerade angeklickt haben.

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

  2. Jetzt gibt pos-1 die Position der vorherigen Registerkarte.

  3. Jetzt bekommen beide Tabs.

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

  4. Jetzt .setTabPosition Verwenden Sie die Registerkarte zu bewegen.

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