javafx控件ComboBox添加HashMap选项,实现获取选项对应值

您所在的位置:网站首页 v380播放器 javafx控件ComboBox添加HashMap选项,实现获取选项对应值

javafx控件ComboBox添加HashMap选项,实现获取选项对应值

#javafx控件ComboBox添加HashMap选项,实现获取选项对应值| 来源: 网络整理| 查看: 265

您应该为 ComboBox 提供一个数据模型,它存储动物的名称和价格,例如 Animal 类的实例。

publicclassAnimal{ private String name; privateDouble price; publicDouble getPrice() { return price; } public String getName() { return name; } public Animal(String name, Double price) { this.name = name; this.price = price; } }

然后在您的 ComboBox 中,您可以显示这些 Animal 实例:

ComboBox comboBox = new ComboBox(); comboBox.setItems(FXCollections.observableArrayList( new Animal("Dog", 30.12), new Animal("Cat", 23.23), new Animal("Bird", 15.0))); comboBox.valueProperty().addListener((obs, oldVal, newVal) -> System.out.println("Price of the " + newVal.getName() + " is : " + newVal.getPrice()));

唯一剩下的就是在 ComboBox 上显示动物的名称,而不是对象本身。为此,您可以使用例如 StringConverter :

comboBox.setConverter(new StringConverter() { @OverridepublicString toString(Animal object) { returnobject.getName(); } @Overridepublic Animal fromString(Stringstring) { returnnull; } });

值改变时,输出如下:

Price of the Cat is : 23.23Price of the Dog is : 30.12Price of the Bird is : 15.0

侵删



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3