gpt4 book ai didi

java - 根据组合框选择 JavaFX 和 Java 1.7 的组合更改 TextField 值

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:36 24 4
gpt4 key购买 nike

我有多个组合框,基于组合框组合的部分,我想设置 TextField 的值。举例来说,我们有一个水果类型订单,我们需要 1) 选择水果类型 2) 水果数量。然后根据类型和计数设置文本字段。这是一个例子。

public class FruitsOrderController implements Initializable {

@FXML
private ComboBox fruitTypeBox, fruitCountBox ;
@FXML
private TextField fruitOrder;

ObservableList<String> fruitTypeList = FXCollections.observableArrayList("Apples", "Oranges");
ObservableList<Integer> applesCountList = FXCollections.observableArrayList(5,6,7);
ObservableList<Integer> orangesCountList = FXCollections.observableArrayList(1,2,3);

@Override
public void initialize(URL url, ResourceBundle rb) {
fruitTypeBox.setItems(fruitTypeList);
fruitTypeBox.setValue("Oranges");
fruitCountBox.setItems(orangesCountList);
fruitCountBox.setValue(3);
}
@FXML
public void fruitOrder(){
if (fruitTypeBox.getValue().equals("Apples")){
fruitCountBox.setItems(applesCountList);
fruitCountBox.setValue(7);
}

if (fruitTypeBox.getValue().equals("Oranges")){
fruitCountBox.setItems(orangesCountList);
fruitCountBox.setValue(3);
}
}
}

现在,我做出了以下选择 1) 水果类型 = 橙子 2) 水果数量 3,我想更改我的 TextFiled 以反射(reflect)我的选择,如下图所示。
enter image description here

最佳答案

如果您只想监听 subcomboBox 中的更改,您可以添加如下监听器:

subcomboBox.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<String>() {
@Override public void changed(ObservableValue<? extends String> selected, String oldSelect, String newSelect) {
if (oldSelect != null) {
switch(oldSelect) {
case "ABC": textfield.setText("ABC"); break;
case "DEF": textfield.setText("DEF"); break;
//....
}
}
if (newSelect != null) {
switch(newSelect) {case "ABC": textfield.setText("ABC"); break;
case "DEF": textfield.setText("DEF"); break;
}
}
}
});

关于java - 根据组合框选择 JavaFX 和 Java 1.7 的组合更改 TextField 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34981603/

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