私は600行のコードを実行して5つのコンボボックスを作ったのですが、ここで選択したアイテムの合計を表示することはできません私が行ったコンボボックスのコード。5つのコンボボックスの中からユーザーが選択したアイテムの総コストを計算するには
lights.setConverter(new StringConverter<Light>() {
@Override
public String toString(Light object) {
return object.getName();
}
@Override
public Light fromString(String string) {
return null;
}
});
lights.setItems(FXCollections.observableArrayList
(new Light ("Incandescent", 5.23),
new Light ("Halogen", 5.75),
new Light ("fluorescent",7.29),
new Light ("Compact fluorescent bulbs",4.83),
new Light ("LED",4.83)));
lights.setPromptText("Please select a light");
lights.setPrefWidth(100);
lights.valueProperty().addListener((obs, oldVal, newVal) -> {
String selectionText = "The price for the " + newVal.getName() + " light is : $" + newVal.getPrice();
lightNamePrice.setText(selectionText);
});
private class Light {
private String name;
private Double price;
private Double getPrice() {
return price;
}
private String getName() {
return name;
}
private Light(String name, Double price) {
this.name = name;
this.price = price;
}
}
私はこれを正しく行っていますか? ユーザーがこのような4つの他のコンボボックスで選択したアイテムの合計コストを見つけるにはどうすればよいですか?
のようなものを行うことができます()getSelectedItemsを()、コンボボックス上でのことをしてみてくださいそれはうまくいくかもしれません。 – Javant
いくつかのコンボボックスに対して600行のコードが過剰なようです。それを減らす方法について考えてみてください。 (コードが反復的であれば、それを他のクラスやメソッドに適宜変換してください。) –
@James_D私が行ったことは、各コンボボックスにはライトコンボボックスのような独自のクラスがあり、クラススイッチなどがあります。 5つのコンボボックスすべてを1つのプライベートクラスで使用できる方法はありますか? ? – max