javafx - 如何在 JavaFX 中重置 ComboBox 滚动位置?
问题描述
我创建了一个带有长列表的组合框和一个按钮来反转该列表的字母顺序。
问题是,如果我向下滚动到列表的某个点,然后单击按钮以反转列表顺序,则列表正确反转并显示,但是组合框不是从顶部开始,而是从顶部开始从上一个滚动位置。
例如,如果我的列表是“A,B,C,...,Z”并且我滚动我的组合直到第 i 个元素,比如说 M,当我颠倒顺序时,组合中显示的列表是“Z , ..., C, B, A",但它不是从 Z 开始的:它仍然位于第 i 个元素处。
如何重置此“滚动问题”?
这是我的代码:
@FXML
private ImageView ascOrder, descOrder;
@FXML
private ComboBox<String> expNameCombo;
ascOrder.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
ascOrder.setVisible(false);
descOrder.setVisible(true);
//populate the combo in descending order
expNameCombo.getItems().clear();
for (Experiment exp : ClientHttps.getInstance().getExperiments().descendingSet()) {
expNameCombo.getItems().add(exp.getName());
}
}
});
descOrder.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
descOrder.setVisible(false);
ascOrder.setVisible(true);
//populate the combo in ascending order
expNameCombo.getItems().clear();
for (Experiment exp : ClientHttps.getInstance().getExperiments()) {
expNameCombo.getItems().add(exp.getName());
}
}
});
解决方案
推荐阅读
- coldfusion - 转义和取消转义 HTML
- angular - TS2339:对象类型上不存在属性 totalPages
- sql - Access SQL 无法创建两个分组平均值
- amazon-web-services - 如何在 Raspbian OS 上运行 AWS ecs-cli - Raspberry Pi 3 B+
- r - R闪亮中的多个反应选择输入
- c++ - 带索引的二叉树节点
- aws-lambda - AWS Cognito 和 AWS Lambda - SAM 本地
- python - 熊猫导入:ModuleNotFoundError:没有名为“pandas._libs.tslib”的模块
- javascript - AJAX 获取请求和 javascript
- javascript - 使 .then() 函数返回一个由另一个函数使用的承诺