javafx控件ComboBox添加HashMap选项,实现获取选项对应值 |
您所在的位置:网站首页 › v380播放器 › javafx控件ComboBox添加HashMap选项,实现获取选项对应值 |
您应该为 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 |