I am just starting to learn JavaFX 2.
Now I am trying to build a sample application. Then I got stuck in combobox.
I did not find any reference to key value pair for
There is another solution, implementing a StringConverter. It's very useful for objects:
public class Product {
private String code;
private String name;
public Product(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Converter implementation:
public class ProductConverter extends StringConverter {
/** Cache of Products */
private Map productMap = new HashMap();
@Override
public String toString(Product product) {
productMap.put(product.getName(), product);
return product.getName();
}
@Override
public Product fromString(String name) {
return productMap.get(name);
}
}
Code in view:
ComboBox cboProducts = new ComboBox;
cboProducts.setConverter(new ProductConverter());
cboProducts.getItems().addAll(serviceManager.getProductList());
To get the value of the product, you can call getValue() method:
cboProducts.getValue()