Skip to content

Commit 0adf4fc

Browse files
authored
在 NBTTreeView 上启用平滑滚动 (#5364)
1 parent c4ed6b0 commit 0adf4fc

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

HMCL/src/main/java/org/jackhuang/hmcl/ui/nbt/NBTTreeView.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@
2020
import com.github.steveice10.opennbt.tag.builtin.CompoundTag;
2121
import com.github.steveice10.opennbt.tag.builtin.ListTag;
2222
import com.github.steveice10.opennbt.tag.builtin.Tag;
23-
import com.jfoenix.controls.JFXTreeView;
2423
import javafx.scene.control.TreeCell;
2524
import javafx.scene.control.TreeItem;
2625
import javafx.scene.control.TreeView;
26+
import javafx.scene.control.skin.TreeViewSkin;
2727
import javafx.scene.image.Image;
2828
import javafx.scene.image.ImageView;
2929
import javafx.util.Callback;
30+
import org.jackhuang.hmcl.ui.FXUtils;
3031

3132
import java.lang.reflect.Array;
3233
import java.util.EnumMap;
@@ -36,13 +37,22 @@
3637
/**
3738
* @author Glavo
3839
*/
39-
public final class NBTTreeView extends JFXTreeView<Tag> {
40+
public final class NBTTreeView extends TreeView<Tag> {
4041

4142
public NBTTreeView(NBTTreeView.Item tree) {
4243
this.setRoot(tree);
4344
this.setCellFactory(cellFactory());
4445
}
4546

47+
@Override
48+
protected javafx.scene.control.Skin<?> createDefaultSkin() {
49+
return new TreeViewSkin<Tag>(this) {
50+
{
51+
FXUtils.smoothScrolling(getVirtualFlow());
52+
}
53+
};
54+
}
55+
4656
private static Callback<TreeView<Tag>, TreeCell<Tag>> cellFactory() {
4757
EnumMap<NBTTagType, Image> icons = new EnumMap<>(NBTTagType.class);
4858

0 commit comments

Comments
 (0)