问题描述
每当我一直向下滚动 TreeView 时,它出于某种原因跳回到开头。
这是我的 fxml:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.TreeView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefheight="720.0" prefWidth="1280.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="pl.gieted.tiMetable.client.javafx.controllers.GroupSelectionController">
<Text layoutX="46.0" layoutY="77.0" stroke="BLACK" strokeType="OUTSIDE" strokeWidth="0.0" text="Wybierz grupę:" wrappingWidth="395.849609375" AnchorPane.leftAnchor="46.0" AnchorPane.topAnchor="39.2314453125">
<font>
<Font size="35.0" />
</font>
</Text>
<TreeView fx:id="tiMetableSelectionTree" layoutX="64.0" layoutY="138.0" prefheight="537.0" prefWidth="316.0" showRoot="false" AnchorPane.bottomAnchor="45.0" AnchorPane.leftAnchor="64.0" AnchorPane.topAnchor="138.0" />
<Button layoutX="1165.0" layoutY="650.0" mnemonicParsing="false" onAction="#onNextButtonClicked" prefheight="24.0" prefWidth="66.0" text="Dalej" AnchorPane.bottomAnchor="45.0" AnchorPane.rightAnchor="49.0" />
</AnchorPane>
还有我的控制器:
package pl.gieted.tiMetable.client.javafx.controllers;
import javafx.beans.value.changelistener;
import javafx.beans.value.ObservableValue;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TreeCell;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import pl.gieted.tiMetable.client.tiMetable.TiMetableService;
import pl.gieted.tiMetable.client.tiMetable.options.TiMetableOption;
import javax.inject.Inject;
import javax.swing.event.ChangeEvent;
import java.io.IOException;
import java.net.URL;
import java.util.List;
import java.util.ResourceBundle;
import java.util.stream.Collectors;
public class GroupSelectionController implements Initializable {
private final TiMetableService tiMetableService;
@FXML
private TreeView<TiMetableOption> tiMetableSelectionTree;
@Inject
public GroupSelectionController(TiMetableService tiMetableService) {
this.tiMetableService = tiMetableService;
}
@Override
public void initialize(URL location,ResourceBundle resources) {
tiMetableSelectionTree.setCellFactory(tree -> new TreeCell<>() {
@Override
protected void updateItem(TiMetableOption item,boolean empty) {
if (item != null) {
setText(item.getName());
}
}
});
try {
List<TreeItem<TiMetableOption>> options = tiMetableService.getRootList().stream().map(TreeItem::new).collect(Collectors.toList());
TreeItem<TiMetableOption> root = new TreeItem<>();
root.getChildren().addAll(options);
root.setExpanded(true);
tiMetableSelectionTree.setRoot(root);
} catch (IOException e) {
e.printstacktrace();
}
}
public void onNextButtonClicked() {
}
}
谁能告诉我它为什么会发生以及如何让它停止?
Here's a video footage of this behavior
这是一个非常基本的用途,所以我不知道为什么会发生这种情况
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)