2016-04-16 7 views
1

私のプロジェクトでVaadinのアコーディオンを使用していますが、アコーデオンのタブをクリックすると、その位置を上に移動する必要があります。アコーディオンタブでは、その上にあるタブとスワップしなければなりません。vaadin accordianのタブをスワップする

タブインデックスを使用してスワップしようとしましたが、タブのみがスワップされますが、タブの内容はスワップされません。

どうすればいいですか?

+1

あなたはhttps://vaadin.com/api/com/vaadin/ui/TabSheet.html#setTabPosition%28com.vaadin.ui.TabSheet([この]を試してみました。タブ、%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);