禁用TabPane中的默认动画

时间:2014-03-20 13:58:29

标签: javafx javafx-2 javafx-8

我想在创建新标签时禁用默认动画。

Tab tabA = new Tab();
      tabA.setText("Tab A");
      tabPane.getTabs().add(tabA);

这可能吗?

2 个答案:

答案 0 :(得分:5)

现在,当Java 8终于出局时,可以使用CSS来禁用动画:

tabPane.setStyle("-fx-open-tab-animation: NONE; -fx-close-tab-animation: NONE;");

默认设置为" GROW"。

答案 1 :(得分:3)

不容易。动画逻辑是TabPaneSkin的一部分:

来自TabPane.java:

@Override protected Skin<?> createDefaultSkin() {
    return new TabPaneSkin(this);
}

但据我所知,没有办法对默认皮肤进行小幅调整(隐藏在com.sun.javafx.scene.control.skin包中),但是你必须实现一个全新的皮肤。