gpt4 book ai didi

java - 将焦点放在组合框的特定项目上而不选择它

转载 作者:行者123 更新时间:2023-11-29 05:41:46 24 4
gpt4 key购买 nike

我正在尝试制作一个 ComboBox,它具有从其项目中搜索匹配项的功能。

这是我所做的代码示例,

ObservableList<String> ab = FXCollections.observableArrayList("z", "asxdf", "abasdf", "bcasdf", "b", "bc", "bcd", "c");

final ComboBox box = new ComboBox(ab);
box.setEditable(true);

box.setOnKeyReleased(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent t) {

box.show();

for (String item : items) {
if (item.startsWith(box.getEditor().getText())) {

box.getSelectionModel().select(item); //which selects the item.

break;
}
}
}
});

现在的问题是 box.getSelectionModel().select(item); 选择在 ComboBox 中键入的特定项目,但我不想选择那个项目,我只想悬停在(专注于)该项目上,就像鼠标悬停时一样。

谁能告诉我用box.getSelectionModel().select(item);替换的代码并帮我解决这个问题。

最佳答案

您可以通过以下代码从 ComboBox 获取 ListView:

ListView<?> lv = ((ComboBoxListViewSkin) getSkin()).getListView();

然后你可以专注于该项目:

lv.getFocusModel().focus(N);

或者只是滚动到它:

lv.scrollTo(N)

关于java - 将焦点放在组合框的特定项目上而不选择它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17269524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com