gpt4 book ai didi

java - 选择哪个 ChoiceBox-Event?

转载 作者:搜寻专家 更新时间:2023-10-31 20:04:39 25 4
gpt4 key购买 nike

我使用 JavaFX Scene Builder 在 fxml 中放置了一个 ChoiceBox。

FXML 有一个分配给它的 Controller 。

我的问题是:如果我想知道变化的值,我需要注册哪个事件?

onInputMethodTextChanged="#languageSelectionModified"

这不适用于以下代码

public void languageSelectionModified(Event event) {
ChoiceBox<String> box = (ChoiceBox<String>) event.getSource();
System.out.println(box.getValue());
}

这仅适用于初始点击(即打开列表,而不是选择项目时):

onMouseClicked="#languageSelectionModified"

尽管由于触摸或键盘是输入法的情况,鼠标事件永远不是一个好的选择,但它仍然证明可以到达 System.out。

我完全不知道这些东西在哪里记录(在默认的 Java-API 中它们没有)

最佳答案

在您的 Controller 中为您的@FXML 注入(inject)选择框添加一个监听器:

choicebox.getSelectionModel().selectedItemProperty().addListener(choiceboxSelectionChangeListener);

您还可以绑定(bind)到所选项目:

label.textProperty().bind(choicebox.getSelectionModel().selectedItemProperty());

这是一个 example在 Controller 中为 FXML 中定义的 ComboBox 挂接监听器。 ChoiceBox 的逻辑几乎相同。

关于java - 选择哪个 ChoiceBox-Event?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11918095/

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